1

我有一个中继器来显示我的数据。此中继器显示 2 个字段,其中一个字段是复选框控件,另一个字段是标签。

现在,当复选框被选中时,我如何理解标签的文本?

我想在 CheckBoxes 被检查的每一行中查看标签文本。

我该怎么办?

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

4

3 回答 3

1

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

于 2009-10-19T02:58:09.850 回答
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();
于 2009-10-18T20:49:55.197 回答
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...
             }
        }
于 2009-10-19T02:36:16.573 回答