如何显示出文章标题,点击文章标题新开窗口显示文章内容。我的实现思路是:用一个datalist,在模板列中加入linkbutton,在linkbutton的text属性绑定数据库中的title字段,CommandArgument属性绑定一个需要用的字段DataBinder.Eval(Container.DataItem,"ID"),写了一个链接的方法:
 public  void AddressBack(DataListCommandEventArgs e)
    {
        Response.Write("<script>window.open('Play.aspx?ID=" + e.CommandArgument.ToString() + "');</script>");
    }
然后激活了Datalist的ItemCommand事件,调用了这个方法,如下:
protected void  DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
    if (e.CommandName == "playlist")
    {
        AddressBack(e);
    }
然后在Play.aspx接收,实现显示文字内容
string ID = Request.QueryString["ID"].ToString();
            DataTable dt = new DataTable();
            Connection2 con = new Connection2(string.Format("select *from Wenzhang where ID='{0}'", ID), dt);
            lbContent.Text = dt.Rows[0][3].ToString();这样做是实现了功能,但实现新开窗口会被IE阻止掉,好多人说用模态,或者层,我都觉得不合适;大家是怎么实现的,怎么才能绕过IE的阻止又能实现相同的效果呢?必须要能新开窗口,小弟跪求各位给个答案。谢谢了

解决方案 »

  1.   

    是不是IE设置有问题啊,我也做过这种东西,没有发生被IE阻止的情况
      

  2.   

    在datalist的itemtemplete中:<a href='m.aspx?id=<%#Eval("id")%>' target="blank" ><%#Eval("title")%></a>
      

  3.   

    尽量避免用window.open很多浏览器都阻止。能用<A>尽量用<A>
      

  4.   

    在模板列中用HyperLink
    然后再DataList的OnItemDataBound时间事件中为此HyperLink的NavigateUrl属性赋值,并且Target="_blank"
      

  5.   

    对头,不需要再回到服务器判断commandname什么的,再处理一下。
    数据在前台读出来后,绑定好,点击直接转向就好了。
      

  6.   


    谢谢大哥,你的方法很好,如果想实现点击相关图片,进入相关文章,怎么引用<a>标签呢。谢谢大哥了