Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单选按钮不更新服务器端的值_C#_Javascript_Asp.net - Fatal编程技术网

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

C# 单选按钮不更新服务器端的值,c#,javascript,asp.net,C#,Javascript,Asp.net,我有3个单选按钮,它们都是一个组的一部分。单击其中一个非默认单选按钮时,它们会在客户端正确更新(取消选择以前的单选按钮并选择新的单选按钮)。我甚至在提交表单的按钮上附加了一个OnClientClick来测试它,就在表单提交之前,选中的值是正确的。但是服务器端到达的第一行代码检查值,同样是出于测试目的,但是.checked值没有更改。默认值仍根据服务器进行检查 以下是我的一些相关代码: ASP Javascript—单击月份时,Javascript会按其应有的方式显示警报框的“False”和“

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

以下是我的一些相关代码:

ASP


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);
}
功能测试(){
var rdoDays=document.getElementById(“”);
var rdoMonths=document.getElementById(“”);
var rdoYears=document.getElementById(“”);
警报(rDays.已选中);
警报(rdoMonths.已选中);
}
然后对于C#,我在VS中设置了一个断点,在Page_Init的最开始和单选按钮处。选中的值都是“false”


我不知道发生了什么事。我是否在asp元素中缺少标记或其他内容?非常感谢您的帮助。

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

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

也许您可以使用Fiddler来测试从客户端发送到服务器的数据,以缩小实际问题的范围:


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


不是。.Checked中的值在Init函数和OnLoad之间没有变化。它不是。.Checked中的值在Init函数和OnLoad之间没有变化。我下载了Fiddler。在运行它并导致回发后,我查看了WebForm选项卡以查看发送到服务器的内容,结果显示单选按钮本身似乎没有被发送。但发送组的值是我下载的Fiddler的“rdoMonth”。在运行它并导致回发后,我查看了WebForm选项卡以查看发送到服务器的内容,结果显示单选按钮本身似乎没有被发送。但是发送的组的值为“rdoMonth”,最后我改为使用telerik:RadButton作为切换控件,而不是使用asp:RadioButton。这为服务器回发时提供了更新的值。这并不是问题的答案,而是另一种选择。我最终改为使用telerik:RadButton作为切换控件,而不是使用asp:RadioButton。这为服务器回发时提供了更新的值。与其说是对这个问题的回答,不如说是另一种选择。
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);
}