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;
}
}