input type="radio" with runat="server" ServerChange won't fire

3.5k Views Asked by At

I am aware that I can user RadioButton web control instead of the input type="radio" with runat="server". However, we are trying to modernize our application and trying to stick with HTML5 generic controls (so that they are easy to migrate when we finally have MVC).

I have radio buttons as bellow.

<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/>

I handle the click event as below.

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
    }

I have made sure AutoEventWireup="true". However, Server_Change method never gets executed when radio button is selected.

0

There are 0 best solutions below