0

我正在开发一个 MVC 项目并使用 Ajax 来显示班次列表。

这是我的父页面 shifts.c​​html:

@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 隐式转换为对象

4

1 回答 1

2

这是一个简单的修复......我需要像这样添加大括号......

@{Html.RenderPartial("_shiftlist", Model);}
于 2012-04-23T13:24:48.580 回答