简体   繁体   English

在Asp.Net中从外部中继器中检查内部中继器中的CheckBox

[英]Check CheckBox inside inner Repeater from outer Repeater checked in Asp.Net

There are two CheckBoxes one is in outer Repeater and other is inside inner Repeater. 有两个CheckBoxes,一个位于外部Repeater中,另一个位于内部Repeater中。

I would like to automatically check CheckBox of inner Repeater when checked the outer Repeater's CheckBox. 我想在检查外部中继器的CheckBox时自动检查内部中继器的CheckBox。

HTML Markup: HTML标记:

<asp:Repeater ID="repOuter" runat="server">
    <ItemTemplate>
        <asp:CheckBox ID="chkOuter" runat="server" 
             OnCheckedChanged="chkOuter_CheckedChanged" />

        <asp:Repeater ID="repInner" runat="server">
            <ItemTemplate>
                <asp:CheckBox ID="chkInner" runat="server" />
            </ItemTemplate>
        </asp:Repeater>

    </ItemTemplate>
</asp:Repeater>

Code-Behind 代码隐藏

protected void chkOuter_CheckedChanged(object sender, EventArgs e)
{
    // can't have access to inner CheckBox placed inside Inner Repeater
    CheckBox innerCheckBox; // how?

    innerCheckBox.Checked = true; // want to check it
}

You can try this(though untested). 您可以尝试此(尽管未经测试)。

CheckBox chkOuter = (sender as CheckBox);
RepeaterItem item = (RepeaterItem)chkOuter.NamingContainer;   
Repeater rp = item.FindControl("repInner") as Repeater;
foreach (RepeaterItem item in rp.Items)
{    
    (item.FindControl("chkInner") as CheckBox).Checked = chkOuter.Checked;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM