【问题标题】:Fill a table from a list C# asp.net从列表中填充表格 C# asp.net
【发布时间】:2015-12-28 09:16:52
【问题描述】:
我有一个类Car,有一些属性Model 和Year。我有一个 Car 类的一些对象的列表 (List<Car> carList = new List<Car>()),我想将此列表放入 HTML 标记中,但我不知道该怎么做。
我的模板已经有<table>,这就是我尝试使用<table> 而不是<asp:GridView> 的原因。
我正在使用 WebForms
【问题讨论】:
标签:
c#
html
asp.net
html-table
【解决方案1】:
如果您设置为使用<table> 而不是任何<asp:*> 控件,则可以在页面上手动构建标记。
首先,您需要能够从您的标记中访问该对象。通过在代码隐藏中使其成为protected(或public)属性,页面可以访问它:
protected IList<Car> CarList { get { return carList; } }
然后在页面(继承自代码隐藏类)中,您可以访问该属性来构建标记。像这样的:
<% foreach (var car in CarList) { %>
<% } %>
该循环的内部是您的行,外部是您的餐桌装饰。可能是这样的:
<table>
<tr>
<th>Column Heading</th>
</tr>
<% foreach (var car in CarList) { %>
<tr>
<td><%= car.SomeValue %></td>
</tr>
<% } %>
</table>
这与在 MVC 中构造标记的方式相似,所以你可以这样想。虽然它在 WebForms 中并不常见,但通常建议按照它的使用方式来使用框架。从长远来看,如果您打算使用 WebForms,则调整模板以与服务器端控件一起使用可能比手动构建标记要少。服务器端控件具有大量事件绑定和代码隐藏交互的额外好处。