Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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
Asp.net 如何同步两个控件?_Asp.net_Controls - Fatal编程技术网

Asp.net 如何同步两个控件?

Asp.net 如何同步两个控件?,asp.net,controls,Asp.net,Controls,我的页面上有两个单选按钮列表,顶部和底部。如果我在顶部列表中选择一个单选按钮,我希望底部列表进行相同的更改。有什么方法可以实现这种同步吗? 我的单选按钮列表位于内容页中 <asp:RadioButtonList ID="rblVerification1" runat="server" RepeatDirection="Horizontal"> <asp:ListItem Value="V">Verified</asp:ListItem

我的页面上有两个单选按钮列表,顶部和底部。如果我在顶部列表中选择一个单选按钮,我希望底部列表进行相同的更改。有什么方法可以实现这种同步吗? 我的单选按钮列表位于内容页中

<asp:RadioButtonList ID="rblVerification1" runat="server" RepeatDirection="Horizontal">
                <asp:ListItem Value="V">Verified</asp:ListItem>
                <asp:ListItem Selected="True" Value="NV">Not Verified</asp:ListItem>
</asp:RadioButtonList>
决议: 我找到了问题的原因。 asp:RadioButtonList呈现为输入type=“radio”HTML元素。
因此,要获取asp:RadioButtonList客户端id,请调用getElementsByTagName(“输入”),它将返回一个单选按钮数组。

最简单的方法是通过JavaScript执行此操作。我在下面创建了一些示例代码:

html:

<div id="list1">
    <input id="item1" type="radio" name="list1"/>Item 1
    <input id="item2" type="radio" name="list1"/>Item 2
    <input id="item3" type="radio" name="list1"/>Item 3
<div>
<br/>
<div id="list2">
    <input id="item1" type="radio" name="list2"/>Item 1
    <input id="item2" type="radio" name="list2"/>Item 2
    <input id="item3" type="radio" name="list2"/>Item 3
<div>​

​我还为它创建了一个应用程序,这样您就可以看到它的运行。

您可以使用javascript来实现这一点。对不起,我对Jquery有点陌生。但是,这一行$(“input[name=list1]:radio”)是否适用于内容页中的控件?这取决于您如何构造html,此示例基于我创建的html,您必须修改它以使其适合您的html。
rblVerification.Attributes.Add("OnClick", string.Format("rblVerificationClicked('{0}', '{1}');", rblVerification.ClientID, rblVerification1.ClientID));
rblVerification1.Attributes.Add("OnClick", string.Format("rblVerificationClicked('{0}', '{1}');", rblVerification1.ClientID, rblVerification.ClientID));
<div id="list1">
    <input id="item1" type="radio" name="list1"/>Item 1
    <input id="item2" type="radio" name="list1"/>Item 2
    <input id="item3" type="radio" name="list1"/>Item 3
<div>
<br/>
<div id="list2">
    <input id="item1" type="radio" name="list2"/>Item 1
    <input id="item2" type="radio" name="list2"/>Item 2
    <input id="item3" type="radio" name="list2"/>Item 3
<div>​
$("input[name=list1]:radio").bind("change", function(e) {

    var chk = $("div#list2")
        .children("input[id=" + $(this).attr("id") + "]");

    chk.attr("checked", true);

});