Как сделать MVC Html.Editor для игнорирования значений формы - PullRequest
1 голос
/ 18 октября 2011

У меня есть представление для обработки транзакции по кредитной карте. Он использует простую модель, содержащую свойство CreditCardNumber. Если есть ошибки, я исключаю свойство CreditCardNumber на модели. Проблема в том, что MVC идет вперед и заполняет номер CreditCardNumber. Я предполагаю, что он просматривает опубликованные значения формы и пытается услужливо заполнить его обратно для меня. Я не хочу этого.

Как я могу заставить Html.Editor MVC не использовать опубликованные значения формы и использовать исключительно значение свойства моей модели?

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Должно работать правильно, если вы явно передаете отредактированную модель в вызов View.

public ActionResult BuyNow(BuyNowViewModel vm)
{
  if (!ModelState.IsValid)
  {
      vm.CreditCardNumber = null;
      return View(vm);
  }
}
0 голосов
/ 19 февраля 2013

Ваш View сначала проверяет ModelState, а затем ViewModel.Поэтому, если вы вручную измените значения, вам необходимо очистить свой ModelState.

ModelState.Clear ();

Полезный блог по теме: http://balawinwin.wordpress.com/2012/11/24/asp-net-mvcs-html-helpers-ignoring-model-changes/

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