这是一个奇怪的问题,今天一直困扰着我。由于asp:RadioButtons在跨度中呈现,我决定使用带有runat =“server”的std输入控件。
<input ID="rbDayRate" type="radio" runat="server" disabled="disabled" />
现在您可以看到默认情况下此控件已被禁用。如果用户单击复选框,则由jQuery启用。但是,一旦控件的状态进入服务器端并且我开始使用它就不是正确的值。
我已经检查了在加载回发数据后没有修改它的所有代码。我甚至检查了Fiddler2中的http post数据,它正确地被浏览器发回。
更奇怪的是,如果我删除了禁用标志,控件可以正常工作。
任何想法发生了什么?!?!
答案 0 :(得分:2)
理查德,
原因是,您已经从服务器端禁用了控件,即使您使用JQuery从客户端启用它,服务器也不知道它。因此它保持相同的值,因为它不期望改变禁用控件的值......
尝试从客户端禁用它onload,应该这样工作....
答案 1 :(得分:0)
您可以尝试将enableviewstate="true"
属性添加到控件中。这应该允许控件在回发后保持其数据/值。