2012-06-09 2 views
0

У меня есть следующий код,Почему флажок после постбэка

<form id="form1" runat="server"> 
<asp:Label runat="server" ID="Label1" EnableViewState="false" /> 
<asp:CheckBox runat="server" ID="Check1" EnableViewState="false" Checked="false" /> 
<asp:Button runat="server" ID="Button1" Text="Button1" /> 
</form> 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (IsPostBack) return; 

    Label1.Text = "Label value"; 
    Check1.Checked = true; 
} 

Почему на обратной передачи текста отчаянный, но флажок, все еще проверяется? Thanks

ответ

1

Приводя ссылки из этой статьи MSDN - Understanding ASP.NET View State by Scott Mitchell Doc:

Страница жизненного цикла Этап 3 - Нагрузка Postback данных

Это общее заблуждение среди разработчиков, которые рассматривают состояние является каким-то образом ответственный за наличие TextBoxes, CheckBoxes, DropDownLists, и других веб-элементов управления, запоминает их значения по обратной передаче. Это не не так, поскольку значения идентифицируются с помощью поля обратной формы и назначаются в методе LoadPostData() для этих элементов управления , которые реализуют IPostBackDataHandler.

1

Поскольку флажок выберет состояние из данных формы, чтобы он оставался проверенным при его воссоздании.

Viewstate необходимо только для того, чтобы помнить, в каком состоянии был установлен флажок, так что работа сервера Change.

Смежные вопросы