本人在datalist模板项加入一个一个linkbutton,然后实现点击linkbutton绑定的内容,用response.write()套用window.open()实现弹出窗口,可是在弹出的同时,父页面也会进行刷新。如何在不缺失功能的情况下,不让父页面进行刷新,O(∩_∩)O谢谢

解决方案 »

  1.   

    不用postback,直接用脚本打开
    <Linkbutton OnClientClick='window.open(url)' ....... />
      

  2.   

    LinkButton是要回发的!
    用HyperLink
      

  3.   

    用linkbutton干嘛?直接用
    <a onclick=window.open('<%#Eval("link")%>')>新窗口<a>
      

  4.   

    public  void AddressBack(DataListCommandEventArgs e)
        {
            Response.Write("<script>window.open('Play2.aspx?swfURL=" + e.CommandArgument.ToString() + "');</script>");
        }
    protected void  DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "playlist")
        {
            //Session["FlvName"] = e.CommandArgument.ToString();
            AddressBack(e);
        }我是用上边的代码实现打开的。如果用HyperLink,是没有CommandName属性的。
      

  5.   


    public  void AddressBack(DataListCommandEventArgs e)
        {
            Response.Write("<script>window.open('Play2.aspx?swfURL=" + e.CommandArgument.ToString() + "');</script>");
        }
    protected void  DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "playlist")
        {
            //Session["FlvName"] = e.CommandArgument.ToString();
            AddressBack(e);
        }我是用上边的代码实现打开的.如果用兄台的话,怎么用
      

  6.   

    你看看页面源代码
    linkbutton回发的实质是什么?答案:是JS this.Form[0].sumbit();你只要针对生成的代码进行相应修改即可。切记, asp.net虽然入门容易,但是想走的远。最起码的实现机制还是要懂的。
      

  7.   

      if (e.CommandName == "playlist")
      {
      //Session["FlvName"] = e.CommandArgument.ToString();((LinkButton)e.item.FindControl("LinkButtonId")).Attributes.Add("onclick","<script language='javascript'> window.open()</script>")  //AddressBack(e);
      }
      

  8.   

    不知道你的e.CommandArgument.ToString()是什么值,
    一般来说这个值也能在DataList1的ItemDataBound事件中获得,
    所以可以在该事件下对HyperLink赋值,
    事实上你是用window.open打开页面,用HyperLink或用其他Label也可以,
    还要设置CSS样式;代码如下:
        protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            string str = "动态获取某个数值";
            HyperLink hl = (HyperLink)e.Item.FindControl("HyperLink1");
            hl.Attributes.Add("onclick", "window.open('Play2.aspx?swfURL="+str+"')");
            hl.Attributes.Add("style", "color:blue;text-decoration: underline;cursor:hand;");
        }