97

我有以下控制器操作:

[ChildActionOnly]
public virtual PartialViewResult ListActions(int id)
{
    var actions = meetingActionRepository.GetAllMeetingActions(id);

    return PartialView(actions);
}

以及以下操作链接(使用 t4MVC 和 razor 语法)

<p>
   @Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>

然而,这给了我错误:

无法将类型 void 隐式转换为对象

据我所知,控制器动作没问题,那么什么可能给我这个错误?

4

4 回答 4

134

像这样:

<p>
    @Html.Action(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>

或者如果你坚持RenderAction这样:

<p>
    @{Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId));}
</p>

我个人更喜欢第一个,减少击键次数。

于 2011-02-07T22:50:54.017 回答
44

Html.Partial也应该可以工作:)

@Html.Partial("View", Model);
于 2013-11-20T18:03:51.297 回答
39

我遇到过同样的问题。对我有用的是将表达式封装在大括号中。

@{Html.RenderPartial("viewName", Model);}

于 2016-12-08T14:13:41.127 回答
6

Html.RenderAction 和 Html.Action 的区别

不同的东西用于不同的目的。查看上面的链接。

于 2012-03-04T07:10:41.940 回答