UpdatePanel нарушает состояние пользовательского элемента управления после первого обновления панели
Используя код пользовательского контроля из MSDN, а затем используя соответствующую структуру страницы:
<asp:UpdatePanel id="upTest" runat="server" UpdateMode="Always" EnableViewState="True" RenderMode="Block">
<ContentTemplate>
The value of the Index property of IndexButton is:<br />
<asp:Label ID="Label1" Runat="server" Text="Label"/>
<hr />
The value of the IndexInViewState property of IndexButton is:
<br />
<asp:Label ID="Label2" Runat="server" Text="Label" />
<hr />
<customControl:IndexButton Text="IndexButton" ID="IndexButton1" OnClick="IndexButton1_Click" runat="server"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="IndexButton1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
Внутри UpdatePanel
Нажмите IndexButton1
и это вызывает Refresh
на UpdatePanel
, Index
свойство увеличивается правильно. Если вы сделаете это во второй раз, индекс больше не будет увеличиваться.
Внешняя панель обновления
Элемент управления обновляет страницу, и индекс будет увеличиваться каждый раз.
Вопрос
Почему панель обновления нарушает состояние управления?