我正在开发一个MVC项目并使用Ajax来显示轮班列表。
这是我的父页面,shifting.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);
}
我是否应该无法将此处生成的viewmodel发送到局部视图?或者我是否必须为局部视图创建另一个操作?如果是这样,将动作发送到部分视图的控制器的正确方法是什么?
此时错误即时消息:
@Html.RenderPartial("_ShiftList",model)
//不能impilicty转换类型void到对象
答案 0 :(得分:2)
这是一个简单的修复...我需要像这样添加大括号..
@{Html.RenderPartial("_shiftlist", Model);}