在 ASP 页面上创建充满列表的 html 表
本文关键字:列表 html 满列表 ASP 创建 | 更新日期: 2023-09-27 18:30:53
我有两个列表:
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]是第一列下的第一个单元格,date[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
,然后添加header
和item
模板吗?还是有更简单的方法?
设计页面:
<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);
}
如果您不想使用中继器,则可以按照以下示例以更类似于 mvc、经典 asp 等的样式循环和呈现内容:
<table>
<% foreach (var myItem in g) { %>
<tr><td><%= myItem.title %></td></tr>
<% } %>
</table>
源:如何像在 MVC 中一样在 WebForms 中循环访问数据
我想补充一点,中继器将是网络表单更典型的方法,即对于任何其他开发人员稍后查看您的代码来说,这是一种更期望的方法。