Asp.net 在repeater中单击checboxlist时刷新页面

Asp.net 在repeater中单击checboxlist时刷新页面,asp.net,postback,repeater,checkboxlist,Asp.net,Postback,Repeater,Checkboxlist,我对updatepanel中的中继器控制问题感到恼火,如下所示 <asp:UpdatePanel ID="UpdPnlConstituentRepeater" ChildrenAsTriggers="true" runat="server"> <ContentTemplate> <asp:Repeater ID="repConstituen

我对updatepanel中的中继器控制问题感到恼火,如下所示

<asp:UpdatePanel ID="UpdPnlConstituentRepeater" ChildrenAsTriggers="true"    runat="server">

                            <ContentTemplate>
                                <asp:Repeater ID="repConstituentInformation" runat="server" OnItemDataBound="repConstituentInformation_ItemDataBound">
 <ItemTemplate>
 <asp:DropDownList ID="dropRegistrantDownCostType" runat="server" AppendDataBoundItems="true"
                                                        AutoPostBack="true" OnSelectedIndexChanged="dropRegistrantDownCostType_SelectedIndexChanged"
                                                        EnableViewState="true">
                                                        <asp:ListItem Text="Select Type" Value="0" Selected="True" />
                                                    </asp:DropDownList>

 <asp:CheckBoxList ID="chkBoxListRegistrantBenefits" AutoPostBack="true" runat="server"
                                                        OnSelectedIndexChanged="chkBoxListRegistrantBenefits_SelectedIndexChanged">
                                                    </asp:CheckBoxList>
</itemTemplate>
</ContentTemplate>
</asp:UpdatePanel>

它在下拉列表中运行得非常好,但在复选框列表中不起作用,就像在编写
sm.RegisterAsyncPostBackControl(chkBoxListRegistrantBenefits)
时使用scripmanager实例一样,它不起作用:(

开始之前添加此项):

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="objDropdownlist" EventName="OnSelectedIndexChanged" />
</Triggers>

clientdmode=“AutoID”
添加到中继器控件


您不必添加任何触发器,甚至不必调用RegisterAsyncPostBackControl。
ChildrenAsTriggers
应该解决这个问题。

关于Repeater ItemDataBound事件

使用screiptmanager方法RegisterAsyncPostBackControl

this.ScriptManager1.RegisterAsyncPostBackControl(
e、 Item.FindControl(“将您的复选框ID放在这里”);

您必须在更新面板中指定一个
部分,并将您的下拉列表和复选框声明为s@JimSchubert:这应该不是必需的,但可能仍然可以解决他的问题。请尝试添加
clientmode=“AutoID”
到中继器控件。您不必添加任何触发器,甚至不必调用
RegisterAsyncPostBackControl
ChildrenAsTriggers
应该解决这个问题。@Bhargav,请阅读。未格式化的XML标记是不可见的,并且可能使答案无法理解。我尝试了这种方法,但获得了成功错误!无法在数据绑定、初始化、加载、预渲染或卸载阶段修改控件集合remove AutoPostBack=“true”事件,因为AsyncPostBackTrigger执行相同的操作。+1。有趣的是,
ClientIDMode
导致异步回发的操作与以前版本不同。但是,
ClientIDMode
仅在ASP.NET 4.0中可用,在以前的ASP.NET版本中无法解决此问题。
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="objDropdownlist" EventName="OnSelectedIndexChanged" />
</Triggers>