Мне нужно создать расширение HtmlHelper
для рендеринга автозаполнения. Как то так:
@Html.AutoCompleteFor(x => x.CustomerId);
Проблема в том, что Html.RenderPartial(...)
возвращает void, поэтому мой метод AutoCompleteFor
также должен быть void. Но Razor не даст ему скомпилироваться, потому что @ Html.X скомпилируется только в том случае, если X возвращает объект.
Я знаю, что могу обойти эту проблему, позвонив вместо этого:
@{ Html.AutoCompleteFor(x => x.CustomerId); }
Но это сделает мой код несовместимым с @Html.EditorFor
Мне нужно вернуть PartialView изнутри моего HtmlHelper
Некоторые соображения:
- Я знаю, вы могли бы подумать, что это каким-то образом нарушит схему MVC, но MVC сама делает это.
Html.EditorFor
попытается найти представление и вернуть его.
- Я только пытаюсь это сделать, потому что мне нужно свойство
foreign-key
, чтобы использовать jQuery-AutoComplete
по умолчанию. Я не смог сказать MVC использовать мой шаблон для свойств внешнего ключа.