如何在asp.net中的Web表单之间传递信息
如何在asp.net第一个Web表单HumanList.aspx
一些信息从一个Web表单发送到另一个Web表单是HumanList.aspx
,它显示了GridView
组件中的人员列表。 当用户单击编辑链接时,我想将HumanID(人类记录ID的值)从HumanList.aspx
到另一个名为HumanEdit.aspx
Web表单。 在humanEdit.aspx中,我想加载该人(使用humanID
)并将人类信息填充到文本框中。
有许多方法可以在页面之间传递参数。
- 使用
Querystring
。
源页面 – Response.Redirect("second.aspx?param=value");
目标页面 – Request.QueryString["param"]
。
- 使用
Session
。
源页面 – Session["param"] = "value";
价值在这里设定。
目标页面 – Session["param"].ToString()
。 在这里检索值。
- 使用
PreviousPage
属性。 注意:如果从first.aspx
(这里只是一个示例)重定向到second.aspx
,则适用于second.aspx
,然后您可以将PreviousPage.
用于second.aspx
中设置的first.aspx
。
在second.aspx
你需要像这样添加指令<%@ PreviousPageType VirtualPath="~/first.aspx" %>
。
- 使用
Request.Form
读取已发布的值。
如果源页面中存在input
, dropdownlist
,并且您将值发布到second.aspx
,则可以使用Request.Form["input_id"]
读取已发布的值。
- 使用
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(); } }
这么多代码足以得到你想要的东西。
- 指定asp.net核心1.0 WebAPI.exe应该在program.cs中为prod和dev使用的url(端口)
- 怎样恢复能在asp.net中使用c#下载文件 – >最好的方法(对于大文件也是如此)
- appSettings和ConfigurationManager.AppSettings问题
- 无法动态地向页面添加控件
- 如何在C#Asp.net中将SELECT sql查询结果保存在一个数组中
- 你如何在ASP 5(vnext)中抛出HttpResponseException
- 未指定authenticationScheme,并且未找到具有默认身份validation和自定义授权的DefaultChallengeScheme
- 我得到了“缺少使用指令或汇编参考”,并且不知道出了什么问题
- 如何在ASP.NET中单击链接按钮时在Bootstrap Modal中显示数据