У меня возникла проблема с обновлением значения переменной bool с использованием метода TryUpdateModel. У меня есть шаблон, созданный для обработки значения, так: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)%>
<% } %>
My View выглядит следующим образом:
<%=Html.EditorFor(model => model.TestField) %> //which looks/acts correctly
Типы баз данных SQL Server также определена правильно, как обнуляемое бит.
Мой код прямо вперед: сообщил
var so = new SomeObject();
if (ModelState.IsValid)
{
//gets to here
if (TryUpdateModel(so))
{
//never gets here
}
}
Ошибка для ModelState на этом поле: «Значение„нуль“не является допустимым для TestField.»
Это кажется довольно прямым, но я ничего не смог найти. Любая помощь будет принята с благодарностью.
Приветствия,
Brian
Я предполагаю, что я должен добавить, что я пытаюсь «обновить» значение для Ноль. Если я выберу «да» или «нет» с соответствующими значениями bool, все будет работать нормально. Это нулевое значение дает мне горе. – Bman