誰かがその振る舞いを説明できるかもしれません:
最新バージョンのMvcContribのCheckBoxListを使用しています。ページを初めて読み込むときは、ビューを返すだけです。
return View(Product.GetProduct(productId));
そして、すべてがうまくいくようです。チェックボックスリストを含む、すべてのhtmlシンプルコントロールが正常に入力されました。
<%= this.CheckBoxList(model => model.Product.Statuses)
.Options(Model.Statuses, model => model.Id, model => model.Name)
.ItemFormat("{0}<br />")
%>
したがって、このフォームにはいくつかのボタンがあります。たとえば、ボタン「検索」()です。productIdで検索し、何か見つかった場合はそれを表示できます。したがって、productIdをコントローラーに渡し、このコントローラーは最初と同じ方法でビューを返します。
return View(Product.GetProduct(productId))
ちなみに、私は同じロジックを使用しています-すべて同じです:同じビュー、同じコントローラー、同じアクション…新しいものは何もありません。しかし、その場合、私はこのエラーメッセージを受け取ります:
文字列が有効なブール値として認識されませんでした。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.FormatException:文字列が有効なブール値として認識されませんでした。
ソースエラー:
Line 268: <labe**strong text**l for="group<%=item.Value%>"><%=item.Text%></label><br />
Line 269: <% } %>--%>
Line 270: <%= this.CheckBoxList(model => model.Product.Statuses).Options(Model.Statuses, model => model.Id, model => model.Name).ItemFormat("{0}<br />")%>
Line 271: </div>
Line 272: </div>
ビューが最初にロードされた後、すべてのチェックボックスがオフになっている場合は検索をクリックしていますが、いずれかのチェックボックスがオンになっている場合は検索をクリックしています。このエラーが発生します。
私は助けが必要です。明るいアイデアはありますか?