Вы можете пойти тремя путями:
1) Для простых элементов управления без особой логики вы можете создать новый экземпляр пользовательской модели представления для элемента управления:
Html.RenderPartial ("YourControl", новый YourControlViewModel () {Param1 = "value1", Param2 = Model.AnotherValue});
2) Если вам нужна некоторая логика для управления, вы можете использовать
Html.RenderAction ("ActionName", "SomeControllerName", RouteValuesDictionary);
Он вызовет стандартное действие контроллера, использует представление и вставит полученный результат обратно на страницу. Вы можете добавить атрибут [ChildActionOnly] в метод контроллера, чтобы гарантировать, что метод будет доступен только из Html.RenderPartial. Это немного нарушает принцип MVC (view не должен вызывать контроллер), но отлично подходит для виджетов и используется в мире Ruby on Rails без особых проблем. Вы можете проверить большую статью от Haacked
3) Создание настраиваемого помощника по HTML для таких задач, как настраиваемое форматирование даты, расчет и т. Д.
В вашем случае я бы выбрал номер два.