如何在asp.net中的Web表单之间传递信息

如何在asp.net第一个Web表单HumanList.aspx一些信息从一个Web表单发送到另一个Web表单是HumanList.aspx ,它显示了GridView组件中的人员列表。 当用户单击编辑链接时,我想将HumanID(人类记录ID的值)从HumanList.aspx到另一个名为HumanEdit.aspx Web表单。 在humanEdit.aspx中,我想加载该人(使用humanID )并将人类信息填充到文本框中。

有许多方法可以在页面之间传递参数。

  1. 使用Querystring

源页面 – Response.Redirect("second.aspx?param=value");

目标页面 – Request.QueryString["param"]

  1. 使用Session

源页面 – Session["param"] = "value"; 价值在这里设定。

目标页面 – Session["param"].ToString() 。 在这里检索值。

  1. 使用PreviousPage属性。 注意:如果从first.aspx (这里只是一个示例)重定向到second.aspx ,则适用于second.aspx ,然后您可以将PreviousPage.用于second.aspx中设置的first.aspx

second.aspx你需要像这样添加指令<%@ PreviousPageType VirtualPath="~/first.aspx" %>

  1. 使用Request.Form读取已发布的值。

如果源页面中存在inputdropdownlist ,并且您将值发布到second.aspx ,则可以使用Request.Form["input_id"]读取已发布的值。

  1. 使用cookies来传输值。 首先从first.aspx向cookie保存一些值,然后从first.aspx读取该值。

有关详细信息,请参阅MSDN – MSDN链接

考虑使用会话或查询字符串。

会话可以像

传递价值

  Session["value"]=someValue; 

获得价值

  var value= Session["value"].toString(); 

您也可以在属性的帮助下传递值

我建议将它存储在会话状态: http : //msdn.microsoft.com/en-us/library/ms178581.aspx

好吧,有很多方法可以将信息页面传递给页面。

一个主要方法是QueryString

 //To Send private void submit_Click(object sender, System.EventArgs e) { string ID = String.Empty; ID = "192" // Have your ID Here Response.Redirect("humanEdit.aspx?ID=" + ID ); } //To Receive private void Page_Load(object sender, System.EventArgs e) { String ID = String.Empty; ID=Request.QueryString["name"]; } 

另一种方法是Sessions

 //Store your ID from Sending Page Session["ID"]= "143"; //Example ID //To Recieve private void Page_Load(object sender, System.EventArgs e) { String ID = String.Empty; ID=Session["ID"].toString(); } 

而且还有很多其他方式……

假设你有一个带有按钮字段的gridview1说“修改”首先提供一个命令名称到该字段说“Mod”现在在Gridview1_RowCommand()函数的HumanList.aspx页面写下这样的代码 –

 switch (e.CommandName.Trim()) { case "Mod": int r1=Int32.Parse((e.CommandArgument).ToString()); Session["id"]=GridView1.DataKeys[r1].Value.ToString(); Response.Redirect("HumanEdit.aspx?id=" + Session["id"]); break; } 

现在在HumanEdit.aspx.cs中,您可以创建自己的类,并且在该类中可以拥有一个数据表对象。在该对象中存储Sql查询并在page_load()中调用该类。 说课是

 Public void show() { Within datatable object you can write your query like this select x,y,z, from tbl_name where id=" + Request.QueryString["id"] if(dt.Rows.Count>0) { Xtext.Text=dt.Rows[0]["x"].ToString(); Ytext.Text=dt.Rows[0]["y"].ToString(); Ztext.Text=dt.Rows[0]["z"].ToString(); } } 

这么多代码足以得到你想要的东西。