2016-10-05 9 views
0

私は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; 
    } 
} 
+0

結果をお知らせですこのオプションを再度クリックしたときにSelectedIndexChangedイベントは発生しません。 。選択したオプションが以前の選択と異なる場合にのみ、イベントが発生します。クライアント側のアプローチを使用しない特別な理由はありますか? – woodykiddy

+0

ここでは、私はRadikfirmを使っています。これにはどんな解決策がありますか? –

答えて

1

次のコードを使用していると私はステップ2については

function confirmSave<%=this.ClientID%>(arg) { 
    if (arg == true) { 
     $find('<%= FindControl("txtUser").ClientID %>').set_value(""); 
     return true; 
    } 
    else { 
     var rdlUser = document.getElementById("<%= rdlUser.ClientID %>"); 
     var radioButtons = rdlUser.getElementsByTagName('input'); 
     radioButtons[3].checked = true; 
     return false; 
    } 
} 
+0

radWindowManager.RadConfirm( "あなたはLeaveを受け取りますか?"、 "return confirmSave" + this.ClientID + ";"、300、100、null、 ""); } – Kiran

+0

これは私にとってはうまくいかない@Kiran。今私は確認メッセージボックスを取得していません。 –

+0

'クライアント側でのみ実行できる場合 –