【发布时间】:2012-12-21 21:40:02
【问题描述】:
我在一个表单中有 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#,我在 VS 中在 Page_Init 的最开始设置了一个断点,并且单选按钮 .checked 的值都是“假”
我不知道发生了什么。我错过了 asp 元素中的标签还是什么?非常感谢任何帮助。
【问题讨论】:
-
我最终改为使用 Telerik:RadButton 作为切换控件,而不是使用 asp:RadioButton。这在回发时为服务器提供了更新的值。与其说是对这个问题的真正答案,不如说是另一种选择。
标签: c# javascript asp.net