从列表C#asp.net填写表格

时间:2015-09-30 14:22:12

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

我有一个班级Car,其中有一些属性ModelYear。我有一个类List<Car> carList = new List<Car>()的某些对象的列表(Car),我想将此列表放入HTML标记中,但我不知道如何执行此操作。

我有一个已经有<table>的模板,这就是我尝试使用<table>代替<asp:GridView>的原因。

我正在使用WebForms

1 个答案:

答案 0 :(得分: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,调整模板以使用服务器端控件可能比手动构建标记更少。服务器端控件具有许多事件绑定和代码隐藏交互的额外好处。