Как передать модель в условный partialview, имеющий отдельную модель для каждого представления?
Я привязываю один частичный вид (из 3 видов) к основному виду.
Основной вид, имеющий модель, плотно привязанную к нему.
Какой частичный вид будет привязан, решается методом get контроллера в соответствии с условиями.
Либо он связывает один из трех видов, либо не связывает ни одного.
Из контроллера я возвращаю основной вид с его моделью и строкой, имеющей частичный путь представления.
Если строка имеет значение, то есть путь частичного представления, то она связывает это представление.
@if (strPartialPage != null && strPartialPage != "") { @Html.Partial(strPartialPage) }
Каждое частичное представление имеет отдельные модели, тесно связанные с этим представлением.
Как передать модель в частичное представление?
Что я уже пробовал:
Во-первых, я не привязывал модель к основному виду.
Я использовал "кортеж", чтобы передать обе модели (одну для основного вида и другую для частичного вида) из контроллера и плотно привязать его к частичному виду.
Но у него есть недостаток, что мне приходится каждый раз связывать частичное представление для условия, в котором оно мне не нужно.
F-ES Sitecore
Я не совсем понимаю ваш вопрос, но вы передаете конкретную модель частичному представлению, как это
@Html.Partial(strPartialPage, yourModelHere)
nrpklpr
@Html.Partial(strPartialPage, yourModelHere)
Я связываю одно из трех частичных представлений. Имя частичного представления определяется во время выполнения в соответствии с условием. Каждый частичный вид имеет свой собственный класс модели.
Теперь я отправляю частичное имя представления через переменную "strPartialPage".
Но как я могу привязать модель к "yourModelHere"???
F-ES Sitecore
"yourModelHere" - это просто любая переменная, указывающая на ваш объект модели. У вас должно быть какое-то условие, которое вы используете, чтобы диктовать, какой вид использовать, поэтому расширьте его для модели
объектная модель;
если (someSomdition)
{
имя_представления = "один.cshtml по";
модель = новая OneModel();
}
еще
{
имя_представления = "две.cshtml по";
модель = новая Двухмодель();
}
@HTML-код.Частичное(имя_представления, модель)