Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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#_Asp.net_Ajax_Asp.net Ajax - Fatal编程技术网

C# 为什么我必须显式启用和禁用单选按钮?

C# 为什么我必须显式启用和禁用单选按钮?,c#,asp.net,ajax,asp.net-ajax,C#,Asp.net,Ajax,Asp.net Ajax,当我想使用AJAX更改单选按钮的状态时,我发现有必要显式地设置每个单选按钮的状态,而不仅仅是在要启用的单选按钮上设置Checked=true。如果我删除下面的标记行,我也许可以使用按钮更改radiobuttons状态一次或两次,但不能再更改了 有人能解释为什么会这样吗?除了我要检查的单选按钮外,还必须显式取消选中其他单选按钮,这感觉有些多余 ASP代码 如果需要执行此类操作,可以使用RadioButtonList控件。如果需要执行此类操作,可以使用RadioButtonList控件。如果执行此操

当我想使用AJAX更改单选按钮的状态时,我发现有必要显式地设置每个单选按钮的状态,而不仅仅是在要启用的单选按钮上设置
Checked=true
。如果我删除下面的标记行,我也许可以使用按钮更改radiobuttons状态一次或两次,但不能再更改了

有人能解释为什么会这样吗?除了我要检查的单选按钮外,还必须显式取消选中其他单选按钮,这感觉有些多余

ASP代码
如果需要执行此类操作,可以使用RadioButtonList控件。

如果需要执行此类操作,可以使用RadioButtonList控件。

如果执行此操作,可以使用RadioButtonList

查看以下链接:


如果要执行此操作,可以使用RadioButtonList

查看以下链接:


如果我不得不猜测,可能是因为ASP页面有上下文可以理解这些单选按钮是一个组,而代码方面则不是。如果我不得不猜测,可能是因为ASP页面有上下文可以理解这些单选按钮是一个组,而代码方面则不是。谢谢,你的回答仍然没有解释我问题的“为什么”部分,但它是正确处理问题的一个很好的指针。谢谢,你的回答仍然没有解释我问题的“为什么”部分,但它是正确处理问题的一个很好的指针。
<div>
    <asp:UpdatePanel ID="UP_Checkboxes" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
            <asp:RadioButton ID="RadioButton1" runat="server" GroupName="MyRBs" /><br />
            <asp:RadioButton ID="RadioButton2" runat="server" GroupName="MyRBs" /><br />
            <asp:RadioButton ID="RadioButton3" runat="server" GroupName="MyRBs" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
<div>
    <asp:UpdatePanel ID="UP_Buttons" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Select 1" OnClick="Button1_Click" /><br />
            <asp:Button ID="Button2" runat="server" Text="Select 2" OnClick="Button2_Click" /><br />
            <asp:Button ID="Button3" runat="server" Text="Select 3" OnClick="Button3_Click" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
protected void Button1_Click(object sender, EventArgs e)
{
    RadioButton1.Checked = true;
    RadioButton2.Checked = false; // Removing these lines causes problems
    RadioButton3.Checked = false; // Removing these lines causes problems
    UP_Checkboxes.Update();
}

protected void Button2_Click(object sender, EventArgs e)
{
    RadioButton1.Checked = false; // Removing these lines causes problems
    RadioButton2.Checked = true;
    RadioButton3.Checked = false; // Removing these lines causes problems
    UP_Checkboxes.Update();
}

protected void Button3_Click(object sender, EventArgs e)
{
    RadioButton1.Checked = false; // Removing these lines causes problems
    RadioButton2.Checked = false; // Removing these lines causes problems
    RadioButton3.Checked = true;
    UP_Checkboxes.Update();
}