我这里有个gridview,最后一列是一个button列,点击button的时候打开一个新的窗口,我现在想点击button的时候获得某一行中的两个值,用session传递到新开的页面,请教该如何实现?谢谢! protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string jinghao1;
        jinghao1 = e.CommandArgument.ToString();
        Session["shjh"] = jinghao1;
        //这里,除了jinghao之外,我还想获得jcsj字段的值一并传到新开的页面中        
        Response.Write("<script language='javascript' type='text/javascript'>window.open(\"shenhepage.aspx\");</script>");
    }    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton Button1 = (LinkButton)e.Row.Cells[6].Controls[0];
            Button1.CommandArgument = e.Row.Cells[2].Text;        }
    }

解决方案 »

  1.   

    最好使用查询字符串的方式传递,不是所有的数据都适合用Session而且楼主最好贴贴页面代码
      

  2.   

    楼主如果真要是使用session传值的话
    把gridview的button事件改成GridView1_RowUpdateing()
       protected void GridView1_RowUpdateing(object sender, GridViewRowEventArgs e) 
        { 
            string 1=this.GridView1.Rows[e.RowIndex].Cells[b].text;
            //b就是你想要取的值,可以取多个
             Session["shjh"] = 1;
             Response.Redirect("新的页面");
        }
    这样做就可以
      

  3.   

    谢谢,已经解决,用command列做的,写的selectedindex事件,结贴了,回头再试试楼上兄弟的方法