我有一个网站,它将数据存储在会话中,并在第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>
背后
protected void pg1button_Click(object sender, EventArgs e)
{
Session["pg1"] = txtData1.Text;
Response.Redirect("/Session/pg2.aspx");
}
PG2 HTML
PG1代码<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的某些部分,所以只给出了基本的基础知识,对不起。
将禁用'BackButton'是否足够呢? – 3dd
'后退按钮,但当它被点击时,我不知道如何重新显示作为其丢失输入的条目。什么是丢失和应显示在哪里?你的意思是第1页中的'txtData1'没有显示在返回按钮被点击前输入的值? – Disappointed
只存储'Session [“pg2”] = txtData2.Text;'在你的页面2后退按钮处理程序中,然后重新填充第2页,如果你有任何会话中的'pg2'否? – user3012759