Radio Button为Disable的时候,会发生两个Radio Button都为Checked的情况
Posted on 2011-05-30 09:52 肖敏 阅读(1800) 评论(0) 编辑 收藏 举报假如我们一个页面中有一组(2个)Radio Button,在页面初始化时写如下代码:
protected void Page_Load(object sender, EventArgs e){
if (!this.IsPostBack)
{
this.RadioButton1.Checked = true;
this.RadioButton2.Checked = true;
}
if (!this.IsPostBack)
{
this.RadioButton1.Checked = true;
this.RadioButton2.Checked = true;
}
}
在页面呈现时,会自动将最后一个Radio Button设为Checked,其他的为UnChecked。并且再次点提交后,Radio Button的状态会与用户输入保持一致。
然而,也有例外情况:当Radio Button为Disable的时候,会发生两个Radio Button都为Checked的情况。
protected void Page_Load(object sender, EventArgs e){
if (!this.IsPostBack)
{
this.RadioButton1.Checked = true;
this.RadioButton2.Checked = true;
this.RadioButton1.Enabled = false;
}
if (!this.IsPostBack)
{
this.RadioButton1.Checked = true;
this.RadioButton2.Checked = true;
this.RadioButton1.Enabled = false;
}
}
这种情况下提交表单,将发现,两个Radio Button都是Checked,因此我们在设Enabled=false的时候一定要先确定他的Checked值。或者在判断的时候再加上Disabled状态。