2010-03-22 130 views
2

我有一个表,该表类似于这样ASP.net访问控制动态

<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 
} 

是这甚至可能??

回答

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表格,然后在我需要特定控制文本的地方使用控件。你在这里得到的东西对我来说很难解析和理解(它是否由设计者产生,也许呢?)

+0

这个代码是我写的,我唯一想这样做的唯一原因就是问题存储在数据库中,我有大约30个问题,我认为这会更容易动态添加问题文本!我想创建一些反馈,如果你有任何想法,使它更容易,这将是伟大的! – c11ada 2010-03-22 00:37:29

+0

@ c11ada:查看数据绑定控件,如DataList和Repeater。 – AMissico 2010-03-22 00:55:57