RadioButton的Enable属性与disalbed

本文探讨了在ASP.NET中如何处理RadioButton控件在服务端禁用后,客户端仍能改变其状态并使服务端正确读取的问题。提供了几种解决策略,包括使用InputAttributes设置属性、利用hiddenfield存储值及Page.Form.SubmitDisabledControls属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三个服务器控件radiobutton,在服务端设置其Enabled为false. 这时三个单选项都灰掉了.
此时又想在客户端通过JS将三个单选按钮变为可选. 且选项可以在服务端获取! 
请问该如何实现!?

这样吧,添加一个安扭,然后,单击,时设置Enabled为true,然在服务器读取相应选项值。。。

貌似Enable设为false之后服务器就不从客户端取值了,以前用TextBox就碰到过这种情况。
简单的处理办法就是不要设Enable属性,自己给RadioButton添加attribute,xxx.Attributes["disabled"]="disabled";这样
对呀! 我的目的在服务端设置了CHECK属性后,就不允许用户在客户端选择! 所以全灰掉!
DISABLED 与 CHECK自属性有冲突吗?

楼上的,还是不行!
选中一项后,再使用客户端JS事件,设置为DISABLED。再点击按钮,在服务端显读取值。读到的是空值,且界面上选项被清掉了,没有一个选中。
var v = document.getElementsByName("<%=RadioButtonList1.ClientID %>");
  for (i = 0; i < v.length; i++)
  v[i].disabled = "disabled";

服务端读取:
TextBox1.Text = RadioButtonList1.SelectedValue;

刚查了一下,之前我想当然了。
以前用TextBox的时候用的是readonly而不是disabled,如果设为disabled是不会提交的。而radio没有readonly属性,所以只能曲线救国了。2个方法,一个是赋值给hiddenfield,一个是javascript控制,网上有介绍。
另外在后台给RadioButton设disabled属性还要注意的是,RadioButton实际上是2个html元素组成,一个sapn里包含了一个radio,直接用Attributes赋值是赋给外面的sapn,要用InputAttributes["disabled"]="disabled"这样。
还有赋的值是没有保存状态的,每次postback之后要重新给InputAttributes赋值,而不仅仅是在Button事件中。

今天偶然发现Page.Form.SubmitDisabledControls这个属性,默认为false,可以设置为true。
希望对lz有用

楼上这种方法有一点点“变态”(我们常说的一种话,不是说人。呵。。。)!我想绝对不可能要这么做! 应该可以比较直接。

你应该使用Radiobuttonlist控件,单选按钮不是成组的话,不能取消选择的
来源:英超直播

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值