创建在ASP页面上填充列表的html表

时间:2016-01-18 14:18:13

标签: c# html asp.net html-table

我有两个清单:

List<string> userID = new List<string>();
List<string> dates = new List<string>();

这两个元素总是具有相同数量的元素(例如下面的代码):

userID = [   11    |   22    |   33    |   44    |   55    ]
dates =  [ 1/22/13 | 2/22/13 | 3/22/13 | 4/22/13 | 5/22/13 ]

我想要做的是在ASP页面上创建一个HTML表格,其中有两列,由列表元素填充,userID [0]是第一列下的第一个单元格,日期[0]作为第二列下的第一个单元格如下:

columnName | column2Name
---------------------------
    11     |   1/22/13
    22     |   2/22/13

现在我有:

<table style="border:solid black 2px" width="100%">
<tr style="border-bottom:solid black 2px">
   <td align="left"><%= dateSelect %></td>
   <td align="right">Date of Report: <%= System.DateTime.Now.ToString("MM/dd/yyyy") %></td>
   </tr>
</table>

dateSelect是一个字符串。

这会显示一个单行表,它可以正常运行,也就是我想要的表格顶部。下面应该是我选择的标题的两列,然后是元素。

我只是不确定如何去做(没有多少HTML体验)。我是否应该在类似问题中提出我已经看过的Repeater,然后添加headeritem模板?或者有更简单的方法吗?

2 个答案:

答案 0 :(得分:1)

设计页面:

<asp:Table ID="Table1" runat="server"></asp:Table>

在背后的代码中:

for(int i = 0; i < itemsnumber; i++){
    TableRow tr = new TableRow();
    TableCell tc1 = new TableCell();
    TableCell tc2 = new TableCell();
    tc1.Controls.Add(new LiteralControl("<span>" + List1[i].ToString() + "</span>"));
    tc2.Controls.Add(new LiteralControl("<span>" + List2[i].ToString() + "</span>"));
    tr.Controls.Add(tc1);
    tr.Controls.Add(tc2);
    Table1.Controls.Add(tr);
}

答案 1 :(得分:1)

如果您不想使用转发器,您可以按照与mvc,classic asp等类似的样式循环和呈现内容,如下例所示:

<table>
  <% foreach (var myItem in g) { %>
    <tr><td><%= myItem.title %></td></tr>
  <% } %>
</table>

源: How to loop through data in WebForms like in MVC

我想补充一点,转发器是使用webforms的更典型的方法,也就是以后为任何其他开发人员查看代码的更方便的方法。