单选按钮不更新服务器端的值

时间:2012-12-21 21:40:02

标签: c# javascript asp.net

我有一个表单中的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值都是“false”

我不知道发生了什么。我错过了asp元素中的标签还是什么?非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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