服务器端禁用输入无线电不保留客户端在回发时更改的状态

时间:2010-08-05 18:36:08

标签: asp.net

这是一个奇怪的问题,今天一直困扰着我。由于asp:RadioButtons在跨度中呈现,我决定使用带有runat =“server”的std输入控件。

<input ID="rbDayRate" type="radio" runat="server" disabled="disabled" />

现在您可以看到默认情况下此控件已被禁用。如果用户单击复选框,则由jQuery启用。但是,一旦控件的状态进入服务器端并且我开始使用它就不是正确的值。

我已经检查了在加载回发数据后没有修改它的所有代码。我甚至检查了Fiddler2中的http post数据,它正确地被浏览器发回。

更奇怪的是,如果我删除了禁用标志,控件可以正常工作。

任何想法发生了什么?!?!

2 个答案:

答案 0 :(得分:2)

理查德,

原因是,您已经从服务器端禁用了控件,即使您使用JQuery从客户端启用它,服务器也不知道它。因此它保持相同的值,因为它不期望改变禁用控件的值......

尝试从客户端禁用它onload,应该这样工作....

答案 1 :(得分:0)

您可以尝试将enableviewstate="true"属性添加到控件中。这应该允许控件在回发后保持其数据/值。