Так странно. У меня есть модель, состоящая из person
и List<person>
. когда пользователь отправляет представление обратно контроллеру, person
добавляет к List<person>
, а затем мы снимаем все поля person
с помощью person=new Person();
.Странное поведение с моделями
Я бы ожидал, что при возврате к просмотру все поля person
будут очищены, а представление будет «новым». Однако, по какой-то причине, я не могу понять, что большинство полей для person
по-прежнему заполняются предыдущими значениями (даже после person=new Person();
).
Модель представляет собой сложную модель, состоящую из нескольких «объектов объектов», а некоторые объекты наследуются от других объектов. Тем не менее, я не могу понять, почему представление все еще показывает значения из предыдущих сообщений.
EDIT !!!!!
Я отправляю сообщение в регулярном виде (HTML.BeginForm()). Так вот мой контроллер:
[HttpPost]
[ValidateAntiForgeryToken()]
public ActionResult sendInscriptorRequest(inscriptionModel _model)
{
var _umbracoModel = Umbraco.TypedContentAtRoot().FirstOrDefault();
_model = bllInscripcion.fillModel(_model);
_model = _model.Map(_umbracoModel);
if (_model.formAction == "addParticipants")
{
_model.participants.Add(_model.newParticipant);
_model.newParticipant = new participantModel();
_model.ui.participants.btnTotalParticipantsNumber += 1;
return View("addParticipants", _model);
}
else
{
_model.newParticipant = bllInscripcion.preFillParticipantContactWithInscriptorContact(_model);
return View("formularioInscripcion2", _model);
}
}
Это очень поможет вам увидеть ваш код после действия. – Eckert
Просьба показать код контроллера, который делает это – markpsmith
Также, как вы получаете данные? Через запрос Ajax? Стандартная форма POST? – nik0lias