Вы говорите, что вы установили PostBackUrl на свою вторую страницу. Если вы собираетесь это сделать, вам нужно использовать Page.PreviousPage, чтобы получить доступ к вашему текстовому полю. Но это самый простой способ:
Во-первых, оставьте PostBackUrl в покое. Установка PostBackUrl на вторую страницу означает, что вы говорите SECOND PAGE, чтобы обращаться с кнопкой, а не на первой странице. Следовательно, ваша переменная сеанса никогда не будет установлена и будет равна нулю, когда вы попытаетесь вытащить ее.
Это должно работать для ya.
И да, вы также можете сделать это с помощью QueryString , но если это то, что вы не хотите, чтобы пользователь видел / редактировал, тогда лучше использовать переменную сеанса.
protected void submit_Click(object sender, EventArgs e)
{
string name = txtFirstName.Text.Trim();
Session["name"] = name;
Response.Redirect("PageTwo.aspx");
}
Затем на второй странице (вам НЕ нужна ТОСТРЯ )):
protected void Page_Load(object sender, EventArgs e)
{
if (Session["name"] != null)
{
lblName.Text = Session["name"].ToString();
}
}
РЕДАКТИРОВАТЬ - Убедитесь, что нажатие кнопки на самом деле активируется. Кто-то может исправить меня неправильно, так как большую часть своей работы я делаю на VB.NET, а не на C #. Но если вы не укажете значение OnClick, ваша функция не будет вызвана.
<asp:Button ID="Button1" runat="server" Text="Click Me!" OnClick="submit_Click" />