【问题标题】:Creating html table filled with lists on ASP page在 ASP 页面上创建填充列表的 html 表
【发布时间】:2016-04-23 18:03:33
【问题描述】:

我有两个列表:

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 表格,其中包含两列,由列表的元素填充,用户 ID[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 模板?还是有更简单的方法?

【问题讨论】:

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


    【解决方案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);
    }
    

    【讨论】:

    • 这行得通,但是我将如何格式化单元格并显示单元格边框?会出现在 asp 还是 c# 代码中?
    • @pfinferno tc1.Attributes.Style.Add("padding", "5px"); 在您的设计页面中,您可以添加 CssClass="yourClassName" 到你的表格控件
    • @pfinferno 样式到 Tablerow -> tr.Attributes.Style.Add("text-align", "center");
    【解决方案2】:

    如果您不想使用中继器,您可以按照以下示例以更类似于 mvc、经典 asp 等的样式循环和呈现内容:

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

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

    我要补充一点,中继器将是 Web 表单的更典型方法,即对于稍后查看您的代码的任何其他开发人员来说,这是一种更令人期待的方法。

    【讨论】:

    • 感谢您的链接。我会更多地研究中继器,因为其他开发人员会更好地了解它。
    猜你喜欢
    • 2017-03-06
    • 1970-01-01
    • 2021-02-22
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多