2009-10-18 45 views
1

我有一个中继器用于显示我的数据。这个中继器显示2个字段,其中一个是checkBox控件,另一个是标签。当复选框在ASP.net中检入时,在中继器中使用数据

现在,当checkBox被选中时,如何理解标签文本?

我想查看埃夫里行中的标签文本,检查CheckBoxes。

我该怎么办?

我用LINQtoSQL get和从数据库

+0

我喜欢你如何接受一个答案,并不真正回答你的问题。 – 2009-10-25 01:55:55

+0

这个问题与此不同。此复选框位于中继器的Body中,并且Checkbox位于中继器的Header中 – 2009-10-25 17:55:12

回答

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... 
      } 
     } 
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(); 
1

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

相关问题