protected void LinkButton1_Click(object sender, EventArgs e)
    {
            string strurl;
            strurl = Convert.ToString(GridView1.SelectedValue);
            Response.Write("<script>window.open('stshow.aspx?id=" + strurl + "');</script>");
    }
在GridView里弄了个模板列,添加了个LinkButton,作用是选择当前行,并且根据ID传值给新窗口。
问题是:第一次点击(比如点击ID得到2)时会出现空窗口,查看地址为:.aspx?id=  此处为空。
        第二次点击(比如点击ID得到5)时会出现.aspx?id=2的窗口
        第三次出现.aspx?id=5的窗口。
求解……谢谢……

解决方案 »

  1.   

    想弹出一个新的窗口,给窗口传值:.aspx?id=strurl 就是这样了……
      

  2.   

    GridView1.SelectedValue 取值有问题,捕捉一下?
      

  3.   

    这句的问题..strurl = Convert.ToString(GridView1.SelectedValue);
      

  4.   

    貌似liujia说的有点眉头……但是怎么解决喃?
      

  5.   

    try..http://www.chinadforce.com/viewthread.php?tid=619657
      

  6.   

    也就是说你点击LinkButton时,并不代表GridView的当前选中行就是这个LinkButton所在的行..所以不能通过GridView.SelectedValue得到ID..
      

  7.   

    额……谢谢LIUJIA……可是我那个代码该怎么改喃?
    当我点击LINKBUTTON时,选中的那行确实是LINKBUTTON所在行啊,因为他自动高亮了。
    原来看到一个帖子也是这个问题,里面说不能在PAGE_LOAD里这样使用,但我不是在PAGE_LOAD里使用也有这样的问题,不知道该怎么办了。
      

  8.   

    问题已解决,虽然不是用的LIUJIA的方法,不过还是谢谢你。
      

  9.   

    int a = GridView1.SelectedIndex + 1;
    string strurl = a.tostring();
    Response.Write("<script>window.open('stshow.aspx?id=" + strurl + "');</script>");