回发后,radiobutton.checked始终为false

时间:2015-07-28 08:58:59

标签: c# asp.net

我的aspx页面中有3个 radiobutton 控件和一个提交按钮,位于内容控件内。

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
     <asp:Panel ID="Panel1" runat="server">
          <asp:RadioButton ID="rd0" runat="server" GroupName="g1" Checked="true" />
          <asp:Image ID="img0" runat="server" ImageUrl="/image/img0.png" />
          <asp:RadioButton ID="rd1" runat="server" GroupName="g1" />
          <asp:Image ID="img1" runat="server" ImageUrl="/image/img1.png" />
          <asp:RadioButton ID="rd2" runat="server" GroupName="g1" />
          <asp:Image ID="img2" runat="server" ImageUrl="/image/img2.png" />
     </asp:Panel>
     <asp:Button ID="btnSubmit" runat="server" Text="Submit" />
</asp:Content>

用户可以选择其中一个radiobuttons并按提交按钮。 现在代码背后我想诊断选择了哪个单选按钮,

RadioButton checkedButton;
if (rd0.Checked)
   checkedButton = rd0;

else if (rd1.Checked)
   checkedButton = rd1;

else
   checkedButton = rd2;

但是所有单选按钮的已检查属性都是错误的。

我甚至将第一个radiobutton的checked属性设置为true,但在再次回发后变为false。

2 个答案:

答案 0 :(得分:2)

在.cs中使用此功能

Request.Form["YourRadioButton"]

答案 1 :(得分:1)

您的Page_Load代码部分中是否有PostBack控件?

尝试将以下代码添加到Page_Load事件中。

if(IsPostBack)返回;