Использование частичного представления для нескольких видов, моделей и контроллеров - PullRequest
0 голосов
/ 25 октября 2018

Есть ли способ, как иметь частичное представление шаблона, которое будет выполнять только одну работу несколько раз, но только одна вещь будет изменяться в частичном представлении, чтобы его можно было использовать в нескольких представлениях с разными моделями и не заботиться о контроллере?

Частичное представление получит логическое значение от модели представления, углубляясь в родительское представление.Bool из модели будет всегда использоваться в одних и тех же позициях.

@Html.LabelFor(Model => Model.Bool1, new { @class = "class" }) 
@Html.RadioButtonFor(Model => Model.Bool1, true, new { @class = "class"})`

Я бы передавал имя bool в частичное представление при его вызове.

@Html.Partial("_RadioButton", Model.Bool1})

Теперь,Как мне это сделать, чтобы Bool менялся.Например, вызовите один и тот же частичный элемент в другом представлении с другой моделью, как, например,.

@Html.Partial("_RadioButton", Model.Bool2})

Спасибо всем.

1 Ответ

0 голосов
/ 25 октября 2018

Вы должны использовать шаблон редактора и передать в него модель, основанную на переключателе.

Включите следующую строку, в которую вы хотите включить шаблон, и передайте модель и любые другие переменные (полезноза небольшие изменения в зависимости от расположения шаблона).

 @Html.DisplayFor(m => Model, "_RadioButtonTmp", new { IsThisCorrect = "Yes", Title="RadioBtn" })

Тогда ваш шаблон (_RadioButtonTmp) будет выглядеть примерно так:

@model RadioButton
@if (ViewBag.IsThisCorrect == "Yes")
{
<p>However you want the radio button to look based on your model</p>
}

Обновить альтернативный шаблон

@model bool

<div>
@Html.RadioButtonFor(m => m, true, new { @class = "class"})
</div>
...