Вот сценарий, у меня есть объект Employee и объект Company, в котором есть список сотрудников.
У меня есть Company.aspx
, который наследуется от ViewPage<Company>
.
В Company.aspx я звоню
Html.DisplayFor(m => m.Employees).
У меня есть Employee.ascx
частичное представление, которое наследуется от ViewUserControl<Employee
> в моей папке DisplayTemplates.
Все работает нормально, а Company.aspx
отображает частичное значение Employee.ascx
для каждого сотрудника.
Теперь у меня есть два дополнительных метода на контроллере, которые называются GetEmployees
и GetEmployee(Id)
.
В действии GetEmployee(Id)
я хочу вернуть разметку для отображения этого одного сотрудника, а в GetEmployees()
я хочу отобразить разметку для отображения всех сотрудников (эти два метода действия будут вызваны через AJAX).
В действии GetEmployee я вызываю
return PartialView("DisplayTemplates\Employee", employee)
Это работает, хотя я бы предпочел что-то вроде
return PartialViewFor(employee)
, который будет определять имя представления по соглашению.
Ануэй, мой вопрос: как мне выполнить действие GetEmployees()
?
Я не хочу создавать больше представлений, потому что, честно говоря, я не понимаю, почему я должен это делать.
Я попробовал следующее, что с треском провалилось:)
return Content(New HtmlHelper<IList<Of DebtDto>>(null, null).DisplayFor(m => debts));
Однако, если бы я мог создать экземпляр объекта HtmlHelper в моем контроллере, я полагаю, я мог бы заставить его работать, но это не так.
Есть идеи? Я что-то упустил очевидное?