我正在asp.net中创建一个应用程序(c#,visual studio 2008)。在这里,我创建了一个页面,其中有一个“继续”链接按钮。单击此按钮将转到下一页。在下一页上有一个“后退”链接按钮。我想要一个代码,以便在单击此返回按钮时,保留在上一页中输入的值(即显示在已填充的控件上。。任何人都可以帮我解决这个简单的问题吗?
答案 0 :(得分:2)
我知道这不是你问题的 直接 的答案,但它可能是一种更简单的方法:
只是一个建议,但只要您使用ASP.NET,请考虑不使用单独的页面,而是使用Wizard control。
听起来你无论如何都在创建一个向导式界面,而Wizard控件比其他方法更简单地解决了很多这些问题。它“只是有效”而且效果很好。
此页面包含更多有用的链接:http://weblogs.asp.net/scottgu/archive/2006/02/21/438732.aspx
答案 1 :(得分:0)
通常我会通过在查询字符串中包含id或id来完成此操作,该ID允许我查询数据库以检索为页面输入的信息。
因此,如果您有这个网址的后退按钮链接:http://www.mySite.com/PrevPage.aspx?id=1234
您可以使用PrevPage.aspx的onload事件执行此操作(psudo代码):
//Query database for record with id 1234
//Foreach record populate the appropriate controls with the data returned from the DB.
答案 2 :(得分:0)
将控制值存储在Session的第一页中。单击第二页中的“后退”按钮,获取存储在Session中的值,并加载到第一页控件中。
Page1.aspx的
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Next" onclick="Button1_Click" />
Page1.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["Name"] != null)
txtName.Text = Session["Name"].ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Session["Name"] = txtName.Text;
Response.Redirect("Page2.aspx");
}
Page2.aspx
<asp:Button ID="Button1" runat="server" Text="Back" onclick="Button1_Click" />
Page2.aspx.cs
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Page1.aspx");
}