我正在尝试使用 C# ASP.Net 将表单数据从一个页面发送到另一个页面。我有两个页面default.aspx和default2.aspx。这是我在default.aspx中的代码:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Go"
PostBackUrl="~/Default2.aspx" />
<br />
据我所知,到目前为止,PostBackUrl 用于设置您想要发送数据的页面,这是正确的吗?
另外,如何检索发送到 Default2.aspx 的数据?
你有几个选择,考虑一下
- 会话状态
- 请求参数
会话状态
如果你要在页面之间发送数据,你可以考虑使用会话状态 http://msdn.microsoft.com/en-us/library/ms178581(v=vs.100).aspx.
ASP.NET 会话状态使您能够存储和检索
用户在 Web 应用程序中导航 ASP.NET 页面。 HTTP 是
无状态协议。这意味着 Web 服务器会处理每个 HTTP
将页面请求作为独立请求。服务器不保留
了解先前请求期间使用的变量值。
ASP.NET 会话状态识别来自同一浏览器的请求
一个有限的时间窗口作为一个会话,并提供了一种持续的方法
该会话期间的变量值。默认情况下,ASP.NET
所有 ASP.NET 应用程序都启用会话状态。
最重要的是,这很容易!
将数据放入(例如在default1.aspx中)
Session["FirstName"] = FirstNameTextBox.Text;
Session["LastName"] = LastNameTextBox.Text;
把它拿出来(例如在default2.aspx上)
string firstname = Session["FirstName"] // value of FirstNameTextBox.Text;
string lastname = Session["LastName"] // value of LastNameTextBox.Text;
请求参数
如果您发送少量数据(例如 id=4),则使用查询字符串变量可能更实用。
您应该探索查询字符串变量的使用,例如
http://www.domain.com?param1=data1¶m2=data2
然后你可以像这样获取数据
string param1 = Request.QueryString["param1"]; // value will be data1
string param2 = Request.QueryString["param2"]; // value will be data2
你可以使用类似的东西如何测试 Request.QueryString[] 变量? https://stackoverflow.com/questions/349742/how-do-you-test-your-request-querystring-variables取出数据。
如果您不熟悉查询字符串变量,请查看他们的维基百科文章 http://en.wikipedia.org/wiki/Query_string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)