我有一个班级Car
,其中有一些属性Model
和Year
。我有一个类List<Car> carList = new List<Car>()
的某些对象的列表(Car
),我想将此列表放入HTML标记中,但我不知道如何执行此操作。
我有一个已经有<table>
的模板,这就是我尝试使用<table>
代替<asp:GridView>
的原因。
我正在使用WebForms
答案 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,调整模板以使用服务器端控件可能比手动构建标记更少。服务器端控件具有许多事件绑定和代码隐藏交互的额外好处。