首页 文章

不能隐式地将类型void转换为对象 . .NET MVC PartialViewResult

提问于
浏览
77

我有以下控制器操作:

[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类型转换为object

至于我可以告诉控制器动作是好的,那么什么可以给我这个错误?

4 回答

  • 3

    像这样:

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

    或者你坚持 RenderAction 这样:

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

    就个人而言,我更喜欢第一次,减少击键次数 .

  • 28

    Difference between Html.RenderAction and Html.Action

    用于不同目的的不同事物 . 看看上面的链接 .

  • 15

    我遇到过同样的问题 . 对我有用的是将表达式封装在 curly brackets 中 .

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

  • 112

    Html.Partial也应该工作:)

    @Html.Partial("View", Model);
    

相关问题