input type="radio" with runat="server" の代わりに RadioButton Web コントロールを使用できることを認識しています。しかし、私たちはアプリケーションを近代化し、HTML5 の一般的なコントロールに固執しようとしています (最終的に MVC ができたときに簡単に移行できるようにするためです)。
私は次のようなラジオボタンを持っています。
<input type="radio" name="XYZ" value="abc" id="optabc" runat="server"/>abc<br/>
<input type="radio" name="XYZ" value="def" id="optdef" runat="server"/>def<br/>
<input type="radio" name="XYZ" value="ghi" id="optghi" runat="server"/>ghi<br/>
<input type="radio" name="XYZ" value="jklk" id="optjkl" runat="server"/>jkl<br/>
<input type="radio" name="XYZ" value="mno" id="optmno" runat="server"/>mno<br/>
<input type="radio" name="XYZ" value="pqr" id="optpqr" runat="server"/>pqr<br/>
以下のようにクリックイベントを処理します。
protected void Page_Load(object sender, EventArgs e)
{
optabc.ServerChange += new System.EventHandler(this.Server_Change);
optdef.ServerChange += new System.EventHandler(this.Server_Change);
optghi.ServerChange += new System.EventHandler(this.Server_Change);
optjkl.ServerChange += new System.EventHandler(this.Server_Change);
optmno.ServerChange += new System.EventHandler(this.Server_Change);
optpqr.ServerChange += new System.EventHandler(this.Server_Change);
}
protected void Server_Change(object sender, EventArgs e)
{
if (optabc.Checked)
//do something
else if (optmno.Checked)
//do something
}
AutoEventWireup="true" であることを確認しました。ただし、ラジオ ボタンが選択されている場合、Server_Change メソッドは実行されません。