2

検索部分ビューとリスト部分ビューを備えたかなり単純なサイトがあります。それらは、複数のモデルを使用してインデックス ビューにロールアップされます。

すべて順調。グリッドの列ヘッダーをクリックして並べ替えたり、データの次のリストにページングしようとした場合を除いて、グリッドは空に戻ります。同じ検索条件を再送信すると、適切にソートまたはページングされた該当するすべてのデータがグリッドに再入力されます。

私はこの動作を追跡して、WebGrid がそのページングおよびソート メカニズムを POST ではなく GET としてセットアップするという事実にたどり着きました。したがって、明らかに、すべてのモデル データは提出から除外されます。

WebGrid を POST してデータ タグを付ける方法はありませんか? クラスとしての WebGrid に、ページングまたはソートしたいデータを含めないことは、非常に非生産的なようです。

4

3 に答える 3

2

これは最も洗練されたソリューションではないかもしれませんが、うまくいきます:

ビューでモデルをセッションに追加します。

Session.Add( "Model", Model );

次に、コントローラーの Index GET アクション (または GET アクションが何であれ) で、値を確認して POST アクションを呼び出します。

if ( Session[ "Model" ] != null )
    this.Index( Session[ "Model" ] as MyModel );

それに応じてセッションをクリーンアップします。

于 2013-04-01T20:14:32.390 に答える