1
TryUpdateModelを使用してnull値のbool値を更新する際に問題が発生しています。Linq MVC 2 TryUpdateModel nullable bool
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.Boolean?>" %>
<% if (ViewData.ModelMetadata.IsNullableValueType) { %>
<%= Html.DropDownListFor(model => model, new SelectListItem[] { new SelectListItem() { Text = "", Value = "null"},new SelectListItem() { Text = "Yes", Value = "true"}, new SelectListItem() { Text = "No", Value = "false" }})%>
<% } else { %>
<%= Html.CheckBoxFor(model => model.Value)%>
<% } %>
マイビューは次のようになります:SQL Serverデータベースの種類もNULL可能ビットとして正しく定義されている
<%=Html.EditorFor(model => model.TestField) %> //which looks/acts correctly
私はそうような値を処理するために作成したテンプレートを持っています。
マイコードは単純です:
var so = new SomeObject();
if (ModelState.IsValid)
{
//gets to here
if (TryUpdateModel(so))
{
//never gets here
}
}
エラーがそのフィールド上にModelStateのために報告されている:「値 『nullが』 TestFieldには有効ではありません。」
これはかなり簡単ですが、これで何も見つかりませんでした。どんな助けでも大歓迎です。
乾杯、
ブライアン
のようなフォームのコレクションを使用して)(「そう」ロードするためにSomeObjectのを持っていましたヌル。私が、それぞれのブール値で「はい」または「いいえ」を選択すると、すべて正常に動作します。それは私に悲しみを与えるヌル値です。 – Bman