0

我正在用 ASP.NET MVC 构建一个站点。我打算复制 StackOverflow 显示其帖子的方式。这些人在 ASP.NET MVC 中使用中继器控件吗?我确实想要完全控制呈现的标记,但我也想要分页。

在这种情况下,最好的方法是什么。

4

2 回答 2

1

在 MVC 中,我建议在您的控制器中(或在存储库中,在从控制器调用的函数中)中使用 LINQ 查询的组合,在您的视图中使用 for 循环,并取决于您想要显示的项目的复杂程度是,循环内的局部视图。

对于分页,您可以将 start 和 count 参数传递给函数,以通过 LINQ 获取对象列表的一部分。例如:

Function sliceList(ByVal startIndex As Integer, ByVal count As Integer) As Generic.List(Of myObject)
   Dim FullObjectList As Generic.List(Of myObject) = GetObjectsFromSomewhere()
   Dim returnList As New Generic.List(Of myObject)
   returnList = From o In FullObjectList Skip startIndex Take count
   Return returnList
End Function

然后,您的控制器将返回的列表传递给视图进行显示,然后您循环遍历它,随意显示项目。

希望这可以帮助。

于 2009-05-27T19:08:25.273 回答
1

我不知道 StackOverflow 是如何实现的,但你不需要使用任何 asp.net 控件。

当然,您需要构建自己的寻呼机。

看看 NerdDinner 教程,它有一个部分展示了如何创建分页列表。 http://weblogs.asp.net/scottgu/archive/2009/04/28/free-asp-net-mvc-nerddinner-tutorial-now-in-html.aspx

这非常简单,您可以完全控制所有标记。事实上,您几乎必须提供所有标记,几乎没有一个标记是由 asp.net 生成的。

于 2009-05-27T19:10:57.810 回答