3

MVP パターンを適用するときに ASP.NET Web フォームにページングを実装する方法は? ビューまたはプレゼンターのどこにページング ロジックを配置するのか疑問に思っています。また、ASP.NET でページングを実装するための巧妙な方法は、PagedDataSource コントロールを使用することです... プレゼンターからそれを使用するのが正しいでしょうか、それともカスタム ページング ロジックを実装する方がよいでしょうか。データは Repeater コントロールを使用してビューに表示されます。

4

2 に答える 2

2

mvp と mvc の間にどのような違いがあるのか​​ 正確にはわかりません。そのため、この投稿が役立つと思います。私は個人的に、モデルまたはコントローラー (プレゼンター?) の外側にヘプラーを作成するというアイデアが好きです。また、jquery ページング メカニズムは非常に単純です。プレゼンターでは、要求されたデータ行のパラメーターを追加するだけで、テーブル/グリッド全体ではなく、それらのみを返します。

于 2009-08-20T06:55:39.377 に答える
2

ビューとプレゼンターの両方がページングについて知る必要があると思います。理由は次のとおりです。

  • インテリジェント ページングは​​、ページを埋めるために必要なデータのみを取得する必要があります。これは私の頭の中のプレゼンターとモデルのコラボレーションです。衒学的な MVP では、ビューはモデルを認識していないため、プレゼンターが仲介者でなければなりません。MVC では、十分に強力なドメイン モデルを持つ Controller を除外しても問題が解決する場合があります。
  • ビューは、ユーザーがページング メタフォ (次、前、適切なレンダリングなど) と適切に対話できるように、ページングについて知る必要があります。

私は PagedDataSource にあまり詳しくありません。WebForms を使用している場合、MVP の忠実な実装に固執したい場合は、おそらくうんざりしています。おそらく、Presenter で PagedDataSource のページ キャッシュを設定し (そのようなものがある場合)、View で GUI グラマーを設定できます。これは、ユーザー コントロールへの参照を渡すことを意味しますが、おそらくそれで問題ありません。

MVP を WebForms で動作させようとしてくれたことに感謝します。それがどうなるか聞いてみたいです。

于 2009-08-20T07:04:10.123 に答える