Кросс-постинг не работает
Я пытаюсь передать значение переменной с одной страницы на другую, используя кросс-страницу пост-обратно, используя этот код:
на странице 1:
<asp:TextBox ID="changepwd" runat="server"></asp:TextBox>
<asp:Button ID="ChangePassword" runat="server" Text="Change Password"
PostBackUrl="~/Page2.aspx" />
Я назначил его значение во время выполнения из базы данных в файле CS как: changepwd.Text = dataSet.Tables[0].Rows[0]["empPassword"].ToString();
На странице 2: событие загрузки страницы:
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
{
TextBox txt = (TextBox)PreviousPage.FindControl("changepwd");
TextBox1.Text = txt.Text;
}
}
но я не получаю значение с предыдущей страницы. я получаю значение как null
, На странице 1 я правильно получаю значение из базы данных, но оно не передается на страницу 2. Скажите, пожалуйста, почему?
1 ответ
Надеюсь, это поможет вам:
Страница 1:
<asp:TextBox ID="changepwd" runat="server"></asp:TextBox>
<asp:Button ID="btnChangePassword" runat="server" Text="Change Password"
PostBackUrl="~/Page2.aspx" />
Page 1 За кодом:
public TextBox ChangePassword
{
get
{
return changepwd;
}
}
Страница 2: определите это в заголовке страницы:
<%@ PreviousPageType VirtualPath="~/Page1.aspx" %>
Страница 2 за кодом:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage != null && PreviousPage.IsCrossPagePostBack == true)
{
TextBox1.Text = PreviousPage.ChangePassword.Text;
}
}