我希望我在 pageA 的文本框中输入的数据可以在 pageB 上访问
例如:用户在页面 A 的文本框中输入他们的姓名
B页说你好(他们在文本框中输入的信息)
我听说这可以通过使用会话来完成,但我不知道如何。
有人可以告诉我如何设置会话以及如何在其中存储数据吗?谢谢!
我希望我在 pageA 的文本框中输入的数据可以在 pageB 上访问
例如:用户在页面 A 的文本框中输入他们的姓名
B页说你好(他们在文本框中输入的信息)
我听说这可以通过使用会话来完成,但我不知道如何。
有人可以告诉我如何设置会话以及如何在其中存储数据吗?谢谢!
Session["valueName"]=value;
或者
Session.Add("valueName",Object);
您可以通过以下方式检索标签中的值(例如)
/*if String value */
Label1.Text=Session["valueName"].ToString();
或者
Label1.Text=Session.item["valueName"].ToString();
您还可以通过以下方式删除会话;
/*This will remove what session name by valueName.*/
Session.Remove( "valueName");
/*All Session will be removed.*/
Session.Clear();
// Page A on Submit or some such
Session["Name"] = TextBoxA.Text;
// Page B on Page Load
LabelB.Text = Session["Name"];
默认情况下启用会话。
是的,你可以像 JohnOpincar 所说的那样做,但你不需要这样做。
您可以使用跨页回发。在 ASP.Net 2.0 中,跨页面回发允许发布到不同的网页,从而产生更直观、结构化和可维护的代码。在本文中,您可以探索跨页面回发机制的各种选项和设置。
您可以使用目标页面中的以下代码访问源页面中的控件:
protected void Page_Load(object sender, EventArgs e)
{
...
TextBox txtStartDate = (TextBox) PreviousPage.FindControl("txtStartDate ");
...
}
您可以使用会话来执行此操作,但如果您是 ASP.NET 2.0 或更高版本,也可以使用跨页面回发
http://msdn.microsoft.com/en-us/library/ms178139.aspx
if (Page.PreviousPage != null) {
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null) {
Label1.Text = SourceTextBox.Text;
}
}
甚至还有更简单的方法。使用查询字符串:
在页面 A 中:
<form method="get" action="pageB.aspx">
<input type="text" name="personName" />
<!-- ... -->
</form>
在 B 页:
Hello <%= Request.QueryString["personName"] %> !