Есть ли приемлемый способ визуализации EditorTemplate с использованием RenderPartial?
Я вложил много работы в EditorTemplate, который использовал бы автозаполнение пользовательского интерфейса JQuery, чтобы позволить пользователю выбирать из списка компаний.(Он использует помощник HTML, чтобы гарантировать, что правильные библиотеки JS и правила CSS включены в «правильные» места на сгенерированной веб-странице.)
При создании другой страницы для этого же приложения я обнаружил, что хочуиспользуйте этот шаблон снова, за пределами модели, для которой я построил EditorTemplate.
Этот код выполняет задачу, но в некотором смысле я могу рассматривать только хак.
@using(Html.BeginForm()) {
ViewData.TemplateInfo.HtmlFieldPrefix = "CompanyName";
Html.RenderPartial("~/Views/Shared/EditorTemplates/Company.cshtml", string.Empty);
<input type="submit" value='Filter' />
}
Поскольку яне используя EditorFor, здесь нет параметра «name», поэтому отображаемое поле ввода - это просто HtmlFieldPrefix для «CompanyName».Автозаполнение работает, и я могу отправить форму и отфильтровать данные.Но это решение кажется небрежным и хрупким.У кого-нибудь есть идея получше?