asp.net mvc 2 запоминание моих данных между постами (нежелательные) - PullRequest
3 голосов
/ 03 ноября 2010

у меня есть такой метод записи

[HttpPost]
public ActionResult Activatecard(ActivateCardViewModel model)

затем я делаю что-то, и в конце метода я делаю это

ActivateCardViewModel m = new ActivateCardViewModel();
m.Currency = partner.DefaultCurrency;
m.ActivateAmountCents = "00";
return View(m);

так, что я ожидал, былочто представление было отображено с помощью этого нового объекта ActivateCardViewModel, и 2 свойства заполнены (и показаны в представлении).(в get я делаю то же самое, и это работает там)

но, как вы можете догадаться прямо сейчас :) это не так!

он запоминает (показывает) все изразмещенный объект (модель).

Я надеюсь, что это по замыслу, и кто-то может сказать мне, почему ....

РЕДАКТИРОВАТЬ

, когда я публикую 56 центов и положу,как показано в коде, 00 центов в новом объекте, он все еще показывает 56 центов, таким образом, он смотрит на это правильно, игнорируя мою новую переменную 'm'

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

Вы используете HtmlHelpers?

Если ModelState содержит ключ с тем же именем, что и любое из полей формы HtmlHelper, HtmlHelpers будет использовать значение ModelState перед использованием значения Models. Единственный способ сбросить это - настроить записи ModelState.

ModelState.Clear();
1 голос
/ 03 ноября 2010

@ michael: Вы можете использовать словарь TempData. Словарь TempData сохраняет данные между различными вызовами действий.

Эти ссылки MSDN объясняют больше о TempData http://msdn.microsoft.com/en-us/library/dd394711.aspx

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