В asp.net mvc3 Я хочу иметь общий метод, который добавляет объект viewmodel в базу данных, откуда он отправляется в нужное место в базе данных. Для этого я пытаюсь перейти в опубликованную модель. Тем не менее, я немного затрудняюсь сделать это динамически. Я попытался это, но он не работает:Могу ли я публиковать динамическую модель?
вид:
(psuedo)
begin form aiming at Add
fields
input type = submit
действия контроллера
[HttpPost]
public ActionResult Add(dynamic model,...)
Вопрос заключается в том, что модель никогда не заполняется. Скрытые поля есть, но фактические поля, определенные моделью с помощью помощников, не входят в модель. Я понимаю, что просто называть его model
более чем вероятно не будет выравниваться правильно. Я уверен, что если бы я сильно набрал модель, например (MyExplicitClass model,...)
, это сработало бы, но это победит динамический подход, потому что я хочу иметь возможность отправлять классы1, class2, class3, class5, class8, class13 и т. Д.
Есть ли любой способ заставить это работать в том, что независимо от того, что отправлено @model class21
, dynamic model
(или equiv) захватит этот объект?
Что делать, если поставить фильтр, чтобы вывести и затем отливали тип? Может ли это работать? –
@TravisJ - Фильтры (при условии, что вы имеете в виду атрибут) статически связаны во время компиляции. Они не будут работать во время выполнения, поэтому нет способа изменить фильтр во время выполнения. –
Возможно использовать трамплин после привязки и выполнить его во время выполнения с копией динамического типа статического типа. –