0

我在一个表单中有 3 个单选按钮,它们都是一个组的一部分。单击其中一个非默认单选按钮时,它们会在客户端正确更新(取消选择以前的单选按钮并选择新单选按钮)。我什至在提交表单的按钮上附加了一个 OnClientClick 以对其进行测试,并且在提交表单之前,.checked 值是正确的。但是在服务器端到达的第一行代码检查值,再次用于测试目的,但 .checked 值没有改变。默认还是根据服务器检查。

这是我的一些相关代码:

ASP

<asp:RadioButton runat="server" ID="rdoDays" Text=" Days" GroupName="RepeatType" />
<asp:RadioButton runat="server" ID="rdoMonths" Text=" Months" GroupName="RepeatType" />
<asp:RadioButton runat="server" ID="rdoYears" Text=" Years" GroupName="RepeatType" />

<asp:Button runat="server" ID="btnSaveAlert" OnClick="btnSaveAlert_OnClick" 
     Text="Save" OnClientClick="Test()" />

Javascript - 当点击月份时,javascript 显示“False”,然后为警报框显示“True”。

function Test() {
    var rdoDays = document.getElementById("<%= rdoDays.ClientID %>");
    var rdoMonths = document.getElementById("<%= rdoMonths.ClientID %>");
    var rdoYears = document.getElementById("<%= rdoYears.ClientID %>");
    alert(rdoDays.checked);
    alert(rdoMonths.checked);
}

然后对于 C#,我在 Page_Init 的一开始就在 VS 中设置了一个断点,并且单选按钮 .checked 值都是“假”

我不知道是怎么回事。我是否缺少 asp 元素中的标签或其他内容?任何帮助是极大的赞赏。

4

2 回答 2

2

Viewstate 在 OnInit 和 OnLoad 之间加载。尝试检查是否在页面的 OnLoad 事件中选中了单选按钮。

于 2012-12-21T21:53:25.300 回答
1

也许您可以使用 Fiddler 进行测试以查看从客户端发送到服务器的数据,以尝试缩小实际问题所在:

http://www.fiddler2.com/fiddler2/

于 2012-12-21T22:06:23.903 回答