0

ASP.NETMVCでサイトを構築しています。StackOverflowが投稿を表示する方法を複製するつもりです。これらの人はASP.NETMVCでリピーターコントロールを使用していますか?レンダリングされるマークアップを完全に制御したいのですが、ページネーションも必要です。

そのような場合の最善のアプローチは何ですか。

4

2 に答える 2

1

MVCでは、コントローラー(または、コントローラーから呼び出された関数内のリポジトリ)でのLINQクエリ、ビューでのforループ、および表示するアイテムの複雑さに応じて、組み合わせを使用することをお勧めします。は、ループ内の部分ビューです。

ページネーションの場合、開始パラメーターとカウントパラメーターを関数に渡して、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 に答える