我想复制StackOverflow's TAG's page,他们有标签(或其他)的列表,并显示他们进几列,第一列是第10个记录,第二列是记录11-> 20 ..等等。如何在ASP.NET MVC视图中将此数据呈现到网格中?
当然,我已经分页了我的数据。
我不知道这是什么类型的观点被称为?这是一个网格视图?对我来说,网格视图就像excel工作表一样......所有数据在行中,而列在过滤/排序。
任何人都可以帮忙吗?
我想复制StackOverflow's TAG's page,他们有标签(或其他)的列表,并显示他们进几列,第一列是第10个记录,第二列是记录11-> 20 ..等等。如何在ASP.NET MVC视图中将此数据呈现到网格中?
当然,我已经分页了我的数据。
我不知道这是什么类型的观点被称为?这是一个网格视图?对我来说,网格视图就像excel工作表一样......所有数据在行中,而列在过滤/排序。
任何人都可以帮忙吗?
如果您检查网页的HTML源代码,你会看到使用表它也是如此。你可以用某种网格助手来做到这一点,或者如果你想要的话就直接在视图中。
您可以通过只搞清楚你要多少列,多少项目你想在每行中做到这一点很简单地在视图中。枚举整个结果集,并且每个X
项(X
是每列最大值)将创建一个新的TD
标记。当然,然后确保每页数据不超过X * COLUMNS
但是既然你不想用表来做,这个答案可能不会帮你。
你可以使用一个GridView,但你也可以使用一个ListView,它允许在你的标记多一点控制脱身。例如,你可以这样做:
<asp:ListView>
<LayoutTemplate>
<table border="0" cellpadding="1">
<asp:ContentPlaceHolder ID="itemPlaceHolder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label runat="server" class="lbl_tag"><%#Eval("Tag") %></asp:Label>
</td>
<td>
<asp:Label runat="server" class="lbl_tag"><%#Eval("Tag") %></asp:Label>
</td>
<td>
<asp:Label runat="server" class="lbl_tag"><%#Eval("Tag") %></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
这会给你三列“标签”。 ListView也有一些很好的属性,如AlternatingItemTemplate。如果你不想让你的ListView呈现为表格,你可以简单地用你自己的标记来修改你的模板。当然,正如我所说的,您可以轻松使用GridView来处理这种类型的事情。
您可以使用ListView或Gridview,但我不建议在ASP.NET MVC中这样做。 – 2010-10-10 06:00:47
同意@安德鲁理发师 - 我想尽可能避免经典的asp控制。 – 2010-10-10 06:02:38
@ Pure.Krome,这些是ASP.NET控件,不是Classic。而他们习惯做的就是动态生成HTML,但是如果您宁愿拥有静态代码,那么为什么不直接硬编码表?如果你反对表(这很愚蠢 - 表是表格数据),那么就使用div。 – 2010-10-10 17:49:55
是的,我知道这是一个表(或逸岸,它应该是div的..表是1990年这样的..)..但我希望的一些代码或一些链接到一些教程,可以告诉我,他们如何划分在将数据显示到视图之前将数据放入列中。 – 2010-10-10 05:38:33
表有目的;显示表格数据。这正是:表格数据。这正是表格的用途。 BTW; 'A'标签也是从20世纪90年代开始的......我们应该停止使用它来进行链接吗? – 2010-10-10 05:41:37
:)我不打算进入关于表格与div的辩论:) – 2010-10-10 06:03:13