我有以下控制器操作:
[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类型转换为对象
据我所知,控制器动作没问题,那么什么可能给我这个错误?
答案 0 :(得分:114)
像这样:
<p>
@Html.Action(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>
或者你坚持RenderAction
这样:
<p>
@{Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId));}
</p>
就我个人而言,我更喜欢第一种,减少按键次数。
答案 1 :(得分:32)
Html.Partial也应该有效:)
@Html.Partial("View", Model);
答案 2 :(得分:22)
我有同样的问题。对我有用的是将表达式封装在花括号中。
@{Html.RenderPartial("viewName", Model);}
答案 3 :(得分:4)
Difference between Html.RenderAction and Html.Action
用于不同目的的不同事物。 看看上面的链接。