如何将gridview中所选行的值发送到下一页..,

时间:2015-09-25 09:12:15

标签: c# asp.net

下面是我们想要的页面中写的代码..

protected void Page_Load(object sender, EventArgs e)
{
   if (this.Page.PreviousPage != null)
   {
      int rowIndex = int.Parse(Request.QueryString["RowIndex"]);
      GridView GridView1 = (GridView)this.Page.PreviousPage.FindControl("gv1");
      GridViewRow row;
      row = GridView1.Rows[rowIndex];
      lblid.Text = row.Cells[1].Text;
      lblname.Text = (row.FindControl("lblName") as Label).Text;
      lblmt.Text = row.Cells[3].Text;
      lblyer.Text = row.Cells[4].Text;
   }
}

1 个答案:

答案 0 :(得分:1)

您有几个选择,请考虑

  1. 会话状态
  2. 查询字符串
  3. 会话状态

    如果您要在页面之间发送数据,可以考虑使用Session State

      

    ASP.NET会话状态使您可以存储和检索a的值   用户作为用户在Web应用程序中导航ASP.NET页面。 HTTP是   无国籍协议。这意味着Web服务器会处理每个HTTP   请求页面作为独立请求。服务器保留没有   了解在先前请求期间使用的变量值。   ASP.NET会话状态在此期间识别来自同一浏览器的请求   作为会话的有限时间窗口,并提供一种持久的方式   该会话持续时间的变量值。默认情况下,ASP.NET   为所有ASP.NET应用程序启用会话状态。最重要的是,它   很容易!

    将数据放入(例如,在default1.aspx上)

    Session["ID"] = lblid.Text;
    Session["Name"] = lblname.Text;
    Session["Amt"] = lblmt.Text;
    Session["Year"] = lblyer.Text;
    

    把它拿出来(例如在default2.aspx上)

    string Id= Session["ID"] 
    string Name= Session["Name"] 
    string Amout = Session["Amt"] 
    string year = Session["Year"] 
    

    查询字符串

    如果要发送少量数据(例如id = 4),使用查询字符串变量可能更实际。

    您应该探索使用查询字符串变量,例如

    http://www.domain.com?param1=data1&param2=data2
    

    然后您可以像

    那样获取数据
    string param1 = Request.QueryString["param2"]; // value will be data1
    string param2 = Request.QueryString["param2"]; // value will be data2
    

    您可以使用How do you test your Request.QueryString[] variables之类的内容吗?获取数据。

    如果您想了解更多有关查询字符串变量的信息,请查看他们的wikipedia article