форма, отправляющая правильное значение, действие становится нулевым - PullRequest
1 голос
/ 24 ноября 2011

Хорошо, я новичок в MVC и пытаюсь понять это.

У меня есть представление с формой и несколькими входами, все размещены с помощью HtmlHelpers, некоторые из модели с проверкой и действием, которое принимает все входные данные в качестве параметров. Все параметры: int, string, DateTime и decimal.

С помощью firebug я могу засвидетельствовать, что все параметры размещены правильно, а с точкой останова на записи действия я вижу, что все параметры заполнены правильно.

Все, кроме один. Это обязательный параметр, и по какой-то причине он поступает в контроллер с нулевым значением. Этот параметр отображается с помощью @ Html.TextBoxFor и имеет [Обязательный] для модели.

Я немного потерян, поэтому любая помощь приветствуется

Редактировать: Подпись действия: public ActionResult Create(int forn, int pro, string URLPR_LEI, decimal VLPRO_LEI, DateTime DTINI_LEI, decimal VLFRE_LEI, bool first, bool fast, bool free, bool buyback)

Текстовое поле, дающее проблемы, создается следующим образом: @Html.TextBoxFor(model => model.VLPRO_LEI)

и модель:

    [Required]
    public decimal VLPRO_LEI { get; set; }

У меня есть другие itens точно так же, как этот (VLFRE_LEI), который работает нормально

Edit2: Хорошо, я выяснил, в чем проблема. Ненавязчивому валидатору требуется . для разделения десятичного значения, однако действие видит его как нулевое из-за точки. Использование целых чисел нормально, по-видимому

Нужно ли отключать проверку для десятичных значений или есть обходной путь?

Ответы [ 3 ]

0 голосов
/ 24 ноября 2011

Похоже, что это может быть проблема привязки модели, связанной с локалью, посмотрите этот пост в блоге:

0 голосов
/ 29 ноября 2011

Я думаю, что вы пропустили [HttpPost] над действием, которое является действием для сообщения.

Пример:

[HttpPost]
public string SomeFunction(){
}

вышеупомянутая функция "SomeFunction ()" является сообщениемФункция из формы.

при публикации вы должны использовать [HttpPost] при установке ActionResult для просмотра, вы должны использовать [HttpGet]

0 голосов
/ 24 ноября 2011

Одна из причин, по которой это может произойти, - если у модели есть частный установщик для свойства, которое вы хотите обновить

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