我有一个带有一些单选按钮的表单,默认情况下是禁用的.
当值输入文本框时,单选按钮通过javascript启用.然后,用户选择一个单选按钮并单击提交按钮,该按钮将回发到服务器.
当我返回服务器时,用户单击的单选按钮未显示为已选中.我将使用'rbSolid'作为我关注的单选按钮.
我处理单选按钮的'onclick'事件,但除了触发之外我还没有执行任何操作的功能:
Me.rbSolid.Attributes.Add("onclick","styleLookupChanged(this);")
在客户端,这将在文本框值更改时启用单选按钮:
document.getElementById("ctl00_MainLayoutContent_WebPanel4_rbSolid").disabled = false;
然后我点击单选按钮然后通过按钮回发,但回到服务器上这总是假的:
如果Me.rbSolid.Checked那么......
如果我在默认情况下启用了单选按钮,则会显示为已正确选中.
谢谢你的帮助!
这与ASP.NET回发数据的方式有关.如果在呈现页面时禁用控件(control.enabled = false),则不会将值发布回服务器.我过去如何解决它是使用属性标记而不是使用Enabled属性设置禁用标志.因此,不使用control.enabled = false,而是使用control.attributes.add("disabled","disabled").