MVC2 - Ошибка модели призрака - PullRequest
0 голосов
/ 30 ноября 2011

Моя модель:

public class EntryModel
{             
        [Required]
        public string Date { get; set; }

        public string Car { get; set; }

        public string Engine { get; set; }

        public string User { get; set; }

        public int CarCod { get; set; }
        public int EngineCod { get; set; }

    }

My View:

<%=Html.Label("Car")%>
<%=Html.Text("Car", car,new { @class = js_car")%>
<%=Html.ValidationMessageFor(x=>x.Car) %>
<%=Html.TextBox("CarCod", carCod, new { @class = "js_car", @style = "display:none;",@id="_car_cod" })%>

Моя проблема:

При публикации данных «CarCod» всегда выдает ошибку в ModelState, что делает и ModelState.IsValid и Html.ValidationSummary бесполезными.

У меня уже есть обходные пути для этого (т.е. я их не использую), но было бы очень приятно узнать, почему.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Чтобы отказаться от того, что сказал Гаррет, сделайте CarCod и EngineCod обнуляемыми.

1 голос
/ 30 ноября 2011

Похоже, что вы прячете текстовое поле CarCod, поэтому оно будет отправлено с пустой строкой. Модель ожидает, что это будет int, поэтому у нее возникают проблемы с преобразованием этого числа в целое число. Что произойдет, если вы установите значение «0»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...