0

updatepanelとrepeaterに問題があります。updatepanelにリピーターがあり、別のupdatepanel内にdivがあります。したがって、リピーターにはGroupRadioButtonもあります。ラジオボタンcheckedchangeddivが表示されている場合。通常、外部のリピーターアイテムに到達することはできません。だから私はそれをitemdataboundでコーディングします。ファーストクリックで正常に動作します。しかし、セカンドクリックページはポストバックです。どうすれば修正できますか?

これが私のリピーターとitemdataboundイベントです。

<asp:UpdatePanel ID="upUsers" runat="server">
    <ContentTemplate>
        <div class="content">
            <asp:Repeater id="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
                <vs:GroupRadioButton ID="rbChoose" GroupName="grup1" runat="server" OnCheckedChanged="select_CheckedChanged" AutoPostBack="true" />
                ... another control etc ...
            </asp:Repeater>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

there are some buttons and controls between both two updatepanels ...

<asp:UpdatePanel ID="upUserDetails" runat="server">
    <ContentTemplate>
        <div class="content">
            <div id="divUserDetails" runat="server">
                ... details ...
            </div>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>


protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        ScriptManager sm = (ScriptManager)Master.FindControl("scr");
        AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
        GroupRadioButton rbChoose = e.Item.FindControl("rbChoose") as GroupRadioButton;
        sm.RegisterAsyncPostBackControl(rbChoose);
        trigger.ControlID = rbChoose.ID;
        upUserDetails.Triggers.Add(trigger);
        upUserDetails.UpdateMode = UpdatePanelUpdateMode.Always;
    }
}
4

0 に答える 0