私はRadioButtonListコントロールをasp.net UserControlに持っています。 2つのラジオボタン "Leave"と "Available"があります。 Leaveをクリックすると、SelectedIndexChangedイベントからのアラートが「Leaveを取ってもよろしいですか?」と表示されます。 OKボタンとCancelボタンがあります。キャンセルをクリックすると、自動的に「使用可能」が選択されます。それまではうまいです。RadioButtonList SelectedIndexChangedが毎回起動しない
ステップ1:ユーザーは再び「脱退」をクリックすると、それはラジオボタンののSelectedIndexChangedからの警告が表示されません:ユーザーのクリックは「利用可能」
ステップ2にリストアをキャンセル。
ステップ3:もう一度やり直してください。
このため、私はそのUserControlに対してEnableViewState = "true"を有効にしました。しかし、それはまだ2回目には機能しません。
以下は、サーバー側のSelectedIndexChangedイベント
protected void rdlUser_SelectedIndexChanged(object sender, EventArgs e)
{
if (rdlUser.SelectedIndex == 1)
{
txtUser.Enabled = true;
}
else
{
radWindowManager.RadConfirm("Are you sure you want to take Leave?", "confirmSave" + this.ClientID, 300, 100, null, "");
}
}
これはjavascriptのコード
function confirmSave<%=this.ClientID%>(arg) {
if (arg == true) {
$find('<%= FindControl("txtUser").ClientID %>').set_value("");
}
else {
var rdlUser = document.getElementById("<%= rdlUser.ClientID %>");
var radioButtons = rdlUser.getElementsByTagName('input');
radioButtons[3].checked = true;
}
}
結果をお知らせですこのオプションを再度クリックしたときにSelectedIndexChangedイベントは発生しません。 。選択したオプションが以前の選択と異なる場合にのみ、イベントが発生します。クライアント側のアプローチを使用しない特別な理由はありますか? – woodykiddy
ここでは、私はRadikfirmを使っています。これにはどんな解決策がありますか? –