FormatException: Html.CheckBox (), UpdateModel () и скрытый ввод - PullRequest
1 голос
/ 17 января 2009

у меня есть флажок для поля bool, как на мой взгляд:

=Html.CheckBox("Active", ViewData["Active"] != null ? ViewData["Active"] : (ViewData.Model.Active != null ? ViewData.Model.Active : false)

вы можете забыть пух, если хотите:

=Html.CheckBox("Active", ViewData.Model.Active)

.. вызывает ту же проблему.

когда я пытаюсь обновить мою модель:

UpdateModel(vacancy, Request.Form.AllKeys);

.. Я получаю возврат массива объектов с двумя полями bool. хорошо, так что я понимаю необходимость скрытого поля. но я использую бета-версию MVC, и я считаю, что данные поста не обрабатываются UpdateModel правильно. я получаю эту ошибку: System.FormatException «Строка не была распознана как допустимое логическое значение.» ... когда форма отправляет обратно иногда. Под этим я подразумеваю, что форма работает нормально, сохраняя истинные и ложные состояния, за исключением случаев, когда другое поле в форме пустое. затем он жалуется на «истинное, ложное» значение. и это нормально. я понимаю, что строка "true, false" не является допустимым bool, но y иногда жалуется, а иногда работает? Пожалуйста, помогите

EDIT: пожалуйста, если кто-то1 может даже предложить другой подход к методу UpdateModel (), я посмотрю на это. я подозреваю, что это что-то простое, что мне не хватает.

РЕДАКТИРОВАТЬ 2: похоже, это известная ошибка в бета-версии MVC (http://www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox). Кто-нибудь может предложить обходной путь?

1 Ответ

1 голос
/ 10 ноября 2009

Решено в ASP.net MVC 1.0

(добавлен ответ, чтобы мы могли исключить вопрос из Unanswered)

...