WebGrid
ページネーション リンクは、1 つを除いてすべての場合で適切に機能します (私が気付きました)。
CheckBoxFor
MVC で使用すると、状態を処理できるように、同じフィールドに対してinput[type=hidden]
とが作成されます。input[type=check-box]
したがって、名前付きのフィールドがX
あり、メソッドでフォームを送信するGET
と、次のような URL になります。
デフォルトのモデル バインダーは、これらの複数のインスタンス OSX
を理解し、その値を把握できます。
この問題は、ページ番号を付けようとすると発生しますWebGrid
。その動作は、現在のリクエスト パラメータをキャッチして、ページネーション リンクでそれらを再渡そうとすることです。ただし、 が複数あるため、期待されるorの代わりにX
渡されます。X=false,true
X=false
X=false&X=true
X=false,true
うまく結べないので問題です。アクションの開始前に、モデル バインダーで例外がトリガーされます。
私はそれを解決できる方法はありますか?
編集:
非常に具体的な問題のように思えますが、そうではありません。チェック ボックスのあるほぼすべての検索フォームは、WebGrid のページネーションを壊します。(GET を使用している場合)
編集2:
私の唯一の2つのオプションは次のとおりだと思います。
- ページネーション リンクのパラメーターを渡す際により巧妙な独自の WebGrid ページャーを構築する
false,true
有効であると理解する独自のブール モデル バインダーを構築する