Repeater ViewState不刷新INPUT

时间:2014-08-13 13:57:39

标签: asp.net .net viewstate

我的Repeater已禁用ViewState,并且启用了ViewState的多个输入控件。在我根据各种选择回发和重新绑定数据后,INPUT控件没有更新。他们保持了与回发前相同的状态。

详细说明我的过滤器是否为X并且我有两个输入,第一个在状态X1,第二个在状态X2。如果我将滤波器切换为Y,输入仍将分别处于状态X1和X2。

转动ViewState以解决此问题。我的问题是为什么?我排除了大部分代码,因为它是锅炉板。您可以将整数列表绑定到Repeater,然后如果整数是奇数或偶数并将Checkbox设置为该值,它将像我的样板代码那样起作用。

下面是伪代码。

<asp:repeater EnableViewState="false">
   <HeaderTemplate></HeaderTemplate>
   <ItemTemplate>
       <asp:checkbox runat="server" id="foo" EnableViewState="True">
   </ItemTemplate>
</asp:repeater>

1 个答案:

答案 0 :(得分:2)

EnableViewState属性将覆盖您尝试启用的所有子控件。

请参阅MSDN

  

获取或设置一个值,该值指示服务器控件是否仍然存在   它的视图状态,以及它包含的任何子控件的视图状态,   致请求客户。

  

控件的ViewStateMode属性设置为Enabled或继承Enabled设置。

因此,将Repeater的{​​{1}}属性设置为EnableViewState会强制所有子控件也设置为false,无论您在控件级别指示你希望它是false

相关问题