【发布时间】:2010-05-13 10:57:10
【问题描述】:
这是场景,我有一个 Employee 对象和一个包含员工列表的 Company 对象。
我有Company.aspx,它继承自ViewPage<Company>。
在 Company.aspx 我调用
Html.DisplayFor(m => m.Employees).
我的 DisplayTemplates 文件夹中有一个 Employee.ascx 部分视图,它继承自 ViewUserControl<Employee>。
一切正常,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 对象的实例,我想我可以让它工作,但感觉不对。
有什么想法吗?我错过了什么明显的东西吗?
【问题讨论】:
标签: asp.net-mvc templates controller render