У меня есть следующие настройкиMVC модель привязки сохраняющиеся Сложные свойства на модели
public class Profile
{
//Some Properties
//Some Methods
}
/*Model Class*/
public class LineItem
{
public Profile Profile {get;set;}
}
В моем контроллере. У меня есть две следующие действия
public ActionResult GetRequest(){
LineItem model = new LineItem();
model.Profile = new Profile(){/*Initialize Properties*/};
return View(model);
}
public ActionResult PostRequest(LineItem item(){
item.Profile .... /*Profile Is Null*/
return View(...);
}
Я проверил, что свойство профиля на классе LineItem модель устанавливается на GetRequest, и вернулся к представлению, но я хочу знать, как сохранить это комплексное свойство, когда это модель представлена. Я знаю, что люди обычно используют скрытые поля для устойчивости модели и что сеанс также доступен, но кажется, что я должен иногда указывать ModelBinder (возможно, через атрибут или аннотацию) для сохранения сложных свойств в моей модели.
Как это можно сделать?
Вы пытались создать настраиваемое связующее устройство, которое реализует интерфейс IModelBinder? –
По умолчанию 'ModelBinder' будет устанавливать любое свойство, соответствующее параметру POST. Поэтому, если у вас нет элемента ввода для определенного свойства, он не будет сохраняться между GET/POST. – jrummell
Я планировал это сделать, но я хочу определить способ сделать этот процесс достаточно прозрачным. Спасибо за помощь. – TheJediCowboy