One way you can do it following way
in aspx page i used yours markup with additional text property
<asp:RadioButton ID="opt1" runat="server" Text="opt1 radioButton selected" GroupName="a"/>
<asp:RadioButton ID="opt2" runat="server" Text="opt2 radioButton selected" GroupName="a" />
<asp:RadioButton ID="opt3" runat="server" Text="opt3 radioButton selected" GroupName="a" />
<asp:RadioButton ID="opt4" runat="server" Text="opt4 radioButton selected" GroupName="a" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
in code being we can make out our selected text like below
protected void Button1_Click(object sender, EventArgs e)
{
string checkedval="";
if (opt1.Checked)
{ checkedval = opt1.Text; }
else if (opt2.Checked)
{ checkedval = opt2.Text; }
else if (opt3.Checked)
{ checkedval = opt3.Text; }
else if (opt4.Checked)
{ checkedval = opt4.Text; }
Response.Write(checkedval);
}
Other way is to use radiobutton list
<asp:radiobuttonlist id="RadioButtonList1" runat="server" xmlns:asp="#unknown">
<asp:listitem value="1">opt1</asp:listitem>
<asp:listitem value="1">opt2</asp:listitem>
<asp:listitem value="1">opt3</asp:listitem>
<asp:listitem value="1">opt4</asp:listitem>
</asp:radiobuttonlist>
protected void Button1_Click(object sender, EventArgs e)
{
string checkedval="";
checkedval= RadioButtonList1.SelectedItem.Text;
Response.Write(checkedval);
}