我正在开发一个 MVC 项目并使用 Ajax 来显示班次列表。
这是我的父页面 shifts.chtml:
@model UI.ViewModels.ViewModelShiftList
<h2>Shifts</h2>
@Ajax.ActionLink("View All Shifts", "AllShifts", "Shifts",
new AjaxOptions
{
UpdateTargetId="searchResults",
HttpMethod="GET", //default
InsertionMode= InsertionMode.Replace, //replace
LoadingElementId="progress"
})
<div id="searchResults">
@Html.RenderPartial("_ShiftList",model)
</div>
继承上述页面的控制器操作:
public ActionResult Shifts()
{
ViewModelShiftList viewModel = new ViewModelShiftList
{
Shifts = _shiftService.GetShifts().ToList()
};
return View(viewModel);
}
我是否应该无法将此处生成的视图模型发送到局部视图中?还是我必须为局部视图创建另一个动作?如果是这样,将动作发送到局部视图的控制器的正确方法是什么?
即时错误是在这一点上:
@Html.RenderPartial("_ShiftList",model)
// 不能将类型 void 隐式转换为对象