Вот scenaio, у меня есть объект Employee и объект Company, у которого есть список сотрудников.Как визуализировать список объектов с помощью DisplayFor, но с контроллера в ASP.NET MVC?
У меня есть 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)
, который будет определять имя вида по соглашению.
Anwyay, мой вопрос в том, как я должен выполнить действие GetEmployees()
?
Я не хочу создавать больше просмотров, потому что, честно говоря, я не понимаю, зачем мне это нужно.
Я попытался следующие, с треском проваливается :)
return Content(New HtmlHelper<IList<Of DebtDto>>(null, null).DisplayFor(m => debts));
Однако, если я мог бы создать экземпляр объекта HtmlHelper в мой контроллер, я полагаю, я мог заставить его работать, но он чувствует себя неправильно ,
Любые идеи? Я пропустил что-то очевидное?
Это похоже на то, что я должен сделать. В идеале я хочу избежать создания частичных представлений только с одной строкой кода. Я смотрел на создание нового результата действия DisplayFor, но опять же, я не смог заставить это работать. В любом случае, спасибо за ваш вклад, и я рад, что смог помочь вам :) – Darragh