在ASP.net中检查Checkbox时,在转发器中使用数据

时间:2009-10-18 18:02:20

标签: asp.net datarepeater

我有一个转发器用于显示我的数据。这个转发器显示2个字段,其中一个是checkBox控件,另一个是标签。

现在,当检查复选框时,如何理解标签文本?

我希望看到检查CheckBoxes的evry行中的标签文本。

我该怎么做?

我使用LINQtoSQL来获取和设置数据库中的数据

3 个答案:

答案 0 :(得分:1)

在回发时,您需要循环遍历转发器的每一行,并取出复选框控件。然后你可以访问它的.Checked和.Text属性。如果是.Checked,则将其添加到列表或数组中。如果需要,我可以详细说明..

答案 1 :(得分:0)

<asp:Repeater ID="rptX" runat="server">
<ItemTemplate>
    <asp:Label ID="lblX" runat="server" Visible='<%# Eval("IsChecked") %>' />
    <asp:CheckBox ID="chkX" runat="server" Checked='<%# Eval("IsChecked") %>' />
</ItemTemplate>
</asp:Repeater>

分配数据时代码落后

   rptX.DataSource = SomeIEnumerableFromLinq; // which has a bool field called IsChecked
   rptX.DataBind();

答案 2 :(得分:0)

页面...

             <asp:CheckBox ID="chkBoxID" runat="server" OnCommand="doSomething_Checked" CommandArgument="<%# Some Binding Information%>"
                CommandName="NameForArgument">
             </asp:CheckBox>

背后的代码......

protected void doSomething_Checked(object sender, CommandEventArgs e) {

                CheckBox ctrl = (CheckBox)sender;
                RepeaterItem rpItem = ctrl.NamingContainer as RepeaterItem;
                if (rpItem != null) {
                    CheckBox chkBox = (LinkButton)rpItem.FindControl("chkBoxID");
                    chkBox.DoSomethingHere...
             }
        }