我设置代码的方式不允许我从上一页获取信息。
第1页的信息:
public string Name{ get { return FirstName.Text; } private set{} }
public string Email { get { return email.Text; } private set { } }
第二页的信息(获取):
标记代码:
<%@ PreviousPageType VirtualPath="~/Registration.aspx" %>
c#code:
protected void Page_Load(object sender, EventArgs e)
{
string name = "";
string email = "";
if (PreviousPage != null)
{
name = PreviousPage.Name;
email = PreviousPage.Email;// both fields are always null... why?
}
我将上一节改为:仍然无法工作
Response.Redirect("CheckYourEmail.aspx");
}
ViewState["LoginName"] = FirstName.Text;
ViewState["Email"] = email.Text;
ViewState["Password"] = password1.Text;
}
public string Name { get { return ViewState["LoginName"].ToString() ; } private set { } }
public string Email { get { return ViewState["Email"].ToString(); } private set { } }
public string UserPassword { get { return ViewState["Password"].ToString(); } private set { } }
我也试过请求[“电子邮件”];
不会工作
答案 0 :(得分:2)
将值保存在会话对象中,并从其他页面获取这些值。
// When retrieving an object from session state, cast it to
// the appropriate type.
ArrayList customers = (ArrayList)Session["Customers"];
// Saving into Session to be retrieved later.
Session["Customers"] = customers;
答案 1 :(得分:1)
Http协议是一种状态Less Protocol。 尝试使用Session或缓存来保存数据。
答案 2 :(得分:1)
据我所知,您的代码看起来是正确的。您是否为文本框启用了viewstate?
当您执行跨页回发时,源页面的生命周期将重新开始。一旦目标页面访问PreviousPage属性。
您可以通过Request对象获取值吗?
请求[ “FirsName”]
答案 3 :(得分:0)
前一页的实例已经消失,因此无法从中检索数据......