2つのラジオボタンが両方ともアップデートパネル用の非同期トリガーとして設定されていますが、初めてCheckedChangedイベントが発生しましたが、クリックしてもイベントは再び発生しません。ASP.NET 4.0ラジオボタンが変更されたイベントを1回だけチェックしました
マークアップ:
<asp:RadioButton ID="rdoDeliveryBilling" runat="server" Checked="true" GroupName="DeliveryAddress" Text="Deliver to this address" AutoPostBack="true" OnCheckedChanged="rdoDelivery_CheckedChanged" />
<asp:RadioButton ID="rdoDeliveryShipping" runat="server" GroupName="DeliveryAddress" Text="Deliver to a different address" AutoPostBack="true" OnCheckedChanged="rdoDelivery_CheckedChanged" />
<asp:UpdatePanel ID="panDeliveryAddress" runat="server">
<ContentTemplate>
...delivery details form controls and validators goes here...
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rdoDeliveryBilling" EventName="CheckedChanged" />
<asp:AsyncPostBackTrigger ControlID="rdoDeliveryShipping" EventName="CheckedChanged" />
</Triggers>
</asp:UpdatePanel>
コード:
protected void rdoDelivery_CheckedChanged(object sender, EventArgs e)
{
...only code that enables/disables the delivery form controls and validators goes here...
}
私はrdoDelivery_CheckedChanged内部にブレークポイントを設定して、それが唯一の最初の時間に当たります。
アイデア?
この問題の解決にご協力いただきありがとうございます。あなたが提案してラジオボタンを更新パネルに入れるとき、私はそうするかもしれません、または、私はまた欠けているonclickを追加する別の解決策を見つけました:radiobutton.Attributes.Add( "onclick"、 "javascript:setTimeout( '__ doPostBack(\'" ( "_"、 "$")& "\ '、\' \ ')、0)") – johna
この解決策は私のためには機能しませんでした。私のラジオボタンは既にアップデートパネルの内側にありました。私は個々のラジオボタン(彼らはページ上の別の場所にあった)に更新パネルを追加しようとしましたが、動作させることができませんでした。しかし、少なくとも私は問題が今何かを知っています。役に立つ情報をありがとう。 – Sal
私は同じグループ名とUpdateMode = "Always"のそれぞれに1つのRadioButtonを持つ2つのアップデートパネルを持っています。私は自分の問題を解決しました。ありがとう、男性 –