На моем веб-сайте ASP.NET 4.0, который использует главные страницы, я отключил viewstate sitewide в web.config:
<pages enableViewState="false" />
и пытаюсь включить его только в случае крайней необходимости.
Я столкнулся с проблемой с элементом управления DropDownList (без привязки к данным, только жестко закодированные элементы):
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged" Width="150px" ViewStateMode="Enabled" EnableViewState="True">
<asp:ListItem>Chocolate</asp:ListItem>
<asp:ListItem>Strawberry</asp:ListItem>
<asp:ListItem>Vanilla</asp:ListItem>
</asp:DropDownList>
Несмотря на то, что я включил состояние просмотра для этого конкретного элемента управления, существует проблема с выбором первого элемента:
![enter image description here](https://i.stack.imgur.com/Eh9ta.png)
protected void DropDownList1_SelectedIndexChanged (object sender, EventArgs e)
{
TextBox1.Text = (sender as DropDownList).SelectedValue;
}
Ожидаемый результат: при выборе «Шоколад» TextBox1 будет отображать «Шоколад». Но я вижу, что TextBox1 изменяется только при выборе Strawberry или Vanilla. В приведенном выше примере я выбрал клубнику, а затем шоколад.
Другими словами, DropDownList SelectedIndexChanged не запускается, когда выбран первый элемент, но запускается, когда выбирается второй или третий.
Вот настройки свойств для DropDownList:
![enter image description here](https://i.stack.imgur.com/DLqCQ.png)
Я попробовал тот же код, начиная с пустого проекта, и страница работает, как ожидалось. (Выбор первого элемента вызывает событие).
Заранее спасибо за любые предложения.