【问题标题】:Fill a table from a list C# asp.net从列表中填充表格 C# asp.net
【发布时间】:2015-12-28 09:16:52
【问题描述】:

我有一个类Car,有一些属性ModelYear。我有一个 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,则调整模板以与服务器端控件一起使用可能比手动构建标记要少。服务器端控件具有大量事件绑定和代码隐藏交互的额外好处。

【讨论】:

  • ListView 控件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
相关资源
最近更新 更多