Судя по названию, я предполагаю, что ваш вопрос в том, как опубликовать Options
, когда ваше действие принимает только BaseViewModel
, т.е .:
public ActionResult Foo(BaseViewModel model)
{
// do something with `model.Options`
}
Если это так, то ответ вы не можете. Результатом сообщения является просто набор строк пары значений ключа. Модельному блоку задается задача взять эти данные и преобразовать его в параметр (ы), который принимает ваше действие, создавая экземпляры классов и устанавливая свойства соответствующим образом. Однако это не экстрасенс. Он нуждается в руководстве в форме ваших типов параметров действий. Учитывая, что на основе действия он собирается создать экземпляр BaseViewModel
, а затем посмотреть, какие свойства он может заполнить. Он заполнит Id
, но потом все будет готово. Он просто отбросит остальные опубликованные данные, потому что больше ничего не может сделать на BaseViewModel
. Модельный блок не знает, что FooViewModel
на самом деле то, что вы хотите. Если вам нужен экземпляр FooViewModel
, вы должны ввести в него свой параметр действия. Ничто другое не сработает.
Что вы имеете в виду: как сделать работу? –
Возможно, у вас есть опечатка, использующая 'IEnumerable' вместо 'Ienumerable '. –
В чем проблема при запуске потока кода? – user1672994