ASP.net访问控制动态

时间:2010-03-22 00:21:40

标签: asp.net controls

我有一张类似于这个

的表格
<asp:TableRow><asp:TableCell>Question 1</asp:TableCell><asp:TableCell ID ="Question1Text"></asp:TableCell></asp:TableRow>
        <asp:TableRow><asp:TableCell ColumnSpan="2">
            <asp:RadioButtonList ID="RadioButtonList1" runat="server"><asp:ListItem>Yes</asp:ListItem><asp:ListItem>No</asp:ListItem>
            </asp:RadioButtonList>
        </asp:TableCell></asp:TableRow>
        <asp:TableRow><asp:TableCell>
            <asp:TextBox ID="TextBox1" TextMode="MultiLine" runat="server"></asp:TextBox></asp:TableCell></asp:TableRow>
        <asp:TableRow><asp:TableCell>Question 2</asp:TableCell><asp:TableCell ID ="Question2Text"></asp:TableCell></asp:TableRow>
               <asp:TableRow><asp:TableCell ColumnSpan="2">
            <asp:RadioButtonList ID="RadioButtonList2" runat="server"><asp:ListItem>Yes</asp:ListItem><asp:ListItem>No</asp:ListItem>
            </asp:RadioButtonList>
        </asp:TableCell></asp:TableRow>
        <asp:TableRow><asp:TableCell>
            <asp:TextBox ID="TextBox2" TextMode="MultiLine" runat="server"></asp:TextBox></asp:TableCell></asp:TableRow>

我希望能够系统地访问具有ID的表格单元格,例如

for (int i = 1; i<3 ; i++)
{
// i want to be able to access the table cell with the ID Question1Text then Question2Text and so on 
}

这甚至可能吗??

1 个答案:

答案 0 :(得分:2)

for(int i = 0; i < 3; i++)
{
    string id = string.Format("Question{0}Text", i);
    TableCell cell = (TableCell) FindControl(id);

    // do whatever you want with the cell
}

您可以使用FindControl在控制树中搜索具有给定标识符字符串的控件。

虽然我必须说,但我认为我不会写那样的代码。我只是定义一个常规HTML表,然后让<asp:Literal>控件我需要专门控制文本。你在这里得到的东西对我来说很难解析和理解(可能是由设计师生成的吗?)