我有一个在会话中存储数据的网站,在第3页上显示在pg1&上输入的条目。 PG2。
但是在pg2上,有一个后退按钮,但是当它被点击时,我不知道如何重新显示输入的输入作为丢失。
我是新手使用会话存储,所以我可能会做一些完全错误的事情所以请告诉我是否是。
无论如何我的代码是:
Pg1 HTML
<form id="form1" runat="server">
<div>
<p>pg1</p>
<asp:TextBox ID="txtData1" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="pg1button" runat="server" Text="Submit" OnClick="pg1button_Click" />
</div>
</form>
Pg1代码
protected void pg1button_Click(object sender, EventArgs e)
{
Session["pg1"] = txtData1.Text;
Response.Redirect("/Session/pg2.aspx");
}
Pg2 HTML
<form id="form1" runat="server">
<div>
<p>pg2</p>
<asp:TextBox ID="txtData2" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="pg2button" runat="server" Text="Submit" OnClick="pg2button_Click" />
<asp:Button ID="pg2Backbutton" runat="server" OnClick="pg2Backbutton_Click" Text="Back" />
</div>
</form>
Pg2代码
protected void pg2button_Click(object sender, EventArgs e)
{
Session["pg2"] = txtData2.Text;
Response.Redirect("/Session/pg3.aspx");
}
protected void pg2Backbutton_Click(object sender, EventArgs e)
{
Response.Redirect("/Session/pg1.aspx");
}
Pg3 HTML
<form id="form1" runat="server">
<div>
<h1>Session State</h1>
<p>Pg 1 data is: <%=Session["pg1"] %></p>
<p>Pg 2 data is: <%=Session["pg2"] %></p>
</div>
</form>
除了我的后退按钮,一切都正常。使用会话的原因是该网站不使用数据库,因为第三页将会有一个按钮,该按钮会将详细信息通过电子邮件发送到指定的电子邮件地址。
由于公司政策,我不得不删除HTML的某些部分,因此给出了基础知识,抱歉。
答案 0 :(得分:1)
在pg1.cs文件中添加以下逻辑
protected void Page_Load(object sender, EventArgs e)
{
if (txtData1.Text == string.Empty && Session["pg1"] != null)
{
txtData1.Text = Session["pg1"].ToString();
}
}
- SJ