web-dev-qa-db-ja.com

暗黙的にvoid型をオブジェクトに変換することはできません。 .NET MVC PartialViewResult

次のコントローラーアクションがあります。

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

    return PartialView(actions);
}

そして、次のアクションリンク(t4MVCとカミソリ構文を使用)

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

しかし、これは私にエラーを与えます:

暗黙的にvoid型をオブジェクトに変換することはできません

コントローラーのアクションが問題ないことを確認できる限り、このエラーが発生する原因は何ですか?

80
MrBliz

このような:

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

または、RenderActionを次のように主張する場合:

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

個人的には、最初のものを好み、キーストロークを少なくします。

115
Darin Dimitrov

Html.Partial も動作するはずです:)

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

同じ問題がありました。私のために働いたのは、式を中括弧でカプセル化することです。

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

27
Ewald

Html.RenderActionとHtml.Actionの違い

目的ごとに異なるもの。上記のリンクをご覧ください。

4
Ahmed