Проверка модели MVC - PullRequest
       3

Проверка модели MVC

1 голос
/ 14 февраля 2011

У меня есть View, привязанный к ViewModel с DataAnnotations для проверки, и у меня есть входной параметр Action with Model (для ModelBinding). Мой код выглядит как ...

public ActionResult MyMethod (MyModelDefinition model, string ddlValue){
    if (ModelState.IsValid) { return RedirectToAction ("...");}

    // If my model is not valid i want to change it and return the View Again...
    model.field1 = "xpto";

    return View(model);
}

Когда я делаю это, у меня возникают ошибки проверки (даже в моем поле 1 ведьма обязательна, и я заполняю ее до того, как мой вид был обработан).

Чего мне не хватает?

Спасибо тебе всем ..

1 Ответ

2 голосов
/ 14 февраля 2011

Вам необходимо удалить значение из состояния модели, если вы намереваетесь изменить его в контроллере или когда вы визуализируете представление, HTML-помощник, который вы использовали для визуализации этого значения, сначала будет смотреть в значениях POSTed, а затем вмодель.Это ожидаемое поведение.

[HttpPost]
public ActionResult MyMethod(MyModelDefinition model, string ddlValue)
{
    if (ModelState.IsValid) 
    { 
        return RedirectToAction ("...");
    }

    // Remove field1 from ModelState if you intend to 
    // modify it in the controller
    ModelState.Remove("field1");
    model.field1 = "xpto";
    return View(model);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...