Установка состояния представления при обратной передаче

я пытаюсь установить ViewState-переменная, когда кнопка нажимается, но она работает только во второй раз я нажимаю кнопку. Вот отделенного кода:

protected void Page_Load(object sender, EventArgs e)
{
	if (Page.IsPostBack)
	{
		lblInfo.InnerText = String.Format("Hello {0} at {1}!", YourName, DateTime.Now.ToLongTimeString());
	}
}

private string YourName
{
	get { return (string)ViewState["YourName"]; }
	set { ViewState["YourName"] = value; }
}


protected void btnSubmit_Click(object sender, EventArgs e)
{
	YourName = txtName.Text;

}

есть ли что-то упускаю? Вот форма-часть дизайн-файл, просто очень простой, как Лок:

<form id="form1" runat="server">
<div>
Enter your name: <asp:TextBox runat="server" ID="txtName"></asp:TextBox>
<asp:Button runat="server" ID="btnSubmit" Text="OK" onclick="btnSubmit_Click" />
<hr />
<label id="lblInfo" runat="server"></label>
</div>
</form>

PS: пример очень упрощен, "использование txtName.Text вместо ViewState" не правильный ответ, мне нужна информация, чтобы быть в ViewState.

Найдено 1 ответ:

Setting viewstate on postback

http://stackoverflow.com/questions/41429/setting-viewstate-on-postback

Посмотреть решение →