Кросс-постинг не работает

Я пытаюсь передать значение переменной с одной страницы на другую, используя кросс-страницу пост-обратно, используя этот код:

на странице 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;
    }
}
Другие вопросы по тегам