【发布时间】:2009-09-23 15:27:17
【问题描述】:
我正在研究绑定一些数据。哪种输出方式会更好。我通常使用 Gridviews,但我不确定现在的表格是否会更好。
【问题讨论】:
标签: c# .net html asp.net-mvc
我正在研究绑定一些数据。哪种输出方式会更好。我通常使用 Gridviews,但我不确定现在的表格是否会更好。
【问题讨论】:
标签: c# .net html asp.net-mvc
在使用 MVC 框架时,您应该真正避开 ASP.NET Web 窗体控件。他们不能 100% 很好地在一起。
HTML 助手/标准 HTML 元素是替代品。这个想法是您可以更好地控制您使用 Web 表单执行的操作。
有一些不错的网格可用:
【讨论】:
如果您要做的只是呈现(输出)一个数据表,则根本不需要网格视图(此外,在 MVC 中,您很可能无论如何都不想这样做)。
只需遍历您的模型集合并为每个项目创建一个新的表格行:
<table>
<% foreach (var item in Model) { %>
<tr><td>FieldName</td><td><%= Html.Encode(item.Field) %></tr>
<% } %>
</table>
您可以通过对表格应用适当的 css 类来随意格式化表格。
编辑:显示多个字段的更好示例,还显示了如何不显示数据。
<% if (Model.Count() > 0)
{ %>
<table width="35%">
<thead><tr><th>Species</th><th>Length</th></tr></thead>
<% foreach (var item in Model)
{ %>
<tr>
<td><%= item.FishSpecies%></td>
<td align="center"><%=item.Length%></td>
</tr>
<% } %>
</table>
<% }
else
{ %>
No fish collected.
<%} %>
【讨论】:
这实际上取决于您输出的内容。 我只对表格数据使用表格/网格视图。
对于其他东西,我使用Repeater 控制器或FormView。
【讨论】:
虽然您可以在 MVC 应用程序中部分使用 ASP.NET 服务器控件(例如,菜单会很好地呈现),但您应该期望它们不会暴露您在 ASP.NET 中看到的预期或丰富的行为。原因有很多:
作为你不会找到的典型行为示例,有分页和排序......
当您深入研究它时,您很快就会发现 MVC 框架中可用的帮助器允许您非常有效地生成表格数据....
【讨论】: