У меня есть вопрос, на который, кажется, должно быть легко ответить, но я не уверен, что с ним делать.
У меня есть несколько страниц cshtml, которые используют разные модели. Но каждая из этих моделей имеет общее свойство, называемое WebSiteSK, и один и тот же код Razor и пользовательского интерфейса Kendo, который обрабатывает это свойство в каждом файле cshtml. Что я хочу сделать, так это извлечь эту обычную бритву и пользовательский интерфейс Kendo в EditerTemplate.
Итак, у меня есть одна страница cshtml, которая принимает модель, которую я назову ModelA. Затем другой, использующий другую модель, называется ModelB. И ModelA, и ModelB имеют целочисленное свойство WebSiteSK, которое получает код, который я хочу извлечь в шаблон редактора.
Вот код, который я хочу централизовать в шаблоне редактора:
<script type="text/x-kendo-tmpl" id="site-droplist-template">
<span>#: data.WebSiteSK # - </span>
<span><b>#: data.SiteName # </b> - </span>
<span>#: data.EnvironmentNK #</span>
<br />
<span>#: data.SiteUrl #</span>
</script>
<div>
@Html.LabelFor(model => model.WebSiteSK, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@(Html.Kendo().DropDownList()
.Name("WebSiteSK_Target")
.DataTextField("SiteName")
.DataValueField("WebSiteSK")
.DataSource(d => d.Read("GetWebSiteList", "Site"))
.Height(300)
.TemplateId("site-droplist-template")
.Filter("contains")
.OptionLabel("Select a site")
.Events(d =>
{
d.DataBound("onSiteBound");
d.Change("onSiteChange");
})
)
@Html.ValidationMessageFor(model => model.WebSiteSK, string.Empty, new { @class = "text-danger" })
</div>
</div>
Имеет ли это смысл? Может ли кто-нибудь помочь мне сделать это?