如何使用C#在转发器控件内找到标签值?

时间:2015-03-04 10:20:27

标签: c# asp.net

如何使用C#在转发器控件内找到标签值?

下面显示了aspx和C#代码,但我没有得到输出。

aspx内容

<table>
<tr>
    <th>Batch</th>
    <th>Action</th>
</tr>

<asp:Repeater runat="server" ID="rptrBatch">
    <ItemTemplate>
        <tr>
            <asp:Label ID="lbBatchID" runat="server"><%#Eval("id")%></asp:Label>
            <td><asp:Label ID="lbBatchName" runat="server"><%#Eval("Name")%></asp:Label></td>
            <td><asp:CheckBox id="cbBatch" runat="server"/></td>
            </tr>
    </ItemTemplate>
</asp:Repeater>
</table>

<table>
<tr>
    <th>Level</th>
    <th>Action</th>
</tr>
<asp:Repeater runat="server" ID="rptrLevel">
    <ItemTemplate>
        <tr>
            <asp:Label ID="lbLevelID" runat="server"><%#Eval("id")%></asp:Label>
            <td><asp:Label ID="lbLevelName" runat="server"><%#Eval("Name")%></asp:Label></td>
            <td><asp:CheckBox id="cbLevel" runat="server" CssClass="cbLevel"/></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>
    </table>
    <asp:LinkButton runat="server" ID="lnkSave" OnClick="lnkSave_Click" >Save</asp:LinkButton>

C#代码

 protected void lnkSave_Click(object sender, EventArgs e)
      {
        GetCheckBoxValue(rptrBatch, "cbBatch", "lbBatchID", "lbBatchName");
        GetCheckBoxValue(rptrLevel, "cbLevel", "lbLevelID", "lbLevelName");
      }


           private void GetCheckBoxValue(Repeater RptrName, string CheckboxName, string labelID, string labelName)
           {
                    Label CellId,CellValue;
                    string cellId, cellValue;
                    CheckBox chk;
                    foreach (RepeaterItem ri in RptrName.Items)
                        {
                            chk = (CheckBox)ri.FindControl(CheckboxName);
                            if (chk.Checked)
                                {
                                CellId = (Label)ri.FindControl(labelID);
                                cellId = CellId.Text.ToString();
                                CellValue =      (Label)ri.FindControl(labelName);
                                cellValue = CellValue.Text.ToString();
                                  }
                         }
                }

谢谢。

1 个答案:

答案 0 :(得分:1)

尝试在aspx页面中设置Labels Text属性。

<asp:Label ID="lbBatchID" runat="server" Text='<%#Eval("id")%>'></asp:Label>
<td><asp:Label ID="lbBatchName" runat="server" Text='<%#Eval("Name")%>'></asp:Label></td>