ne peut pas implicitement convertir le type void en object. .NET MVC PartialViewResult

J’ai l’action du contrôleur suivante:

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

Et le lien d’action suivant (en utilisant t4MVC et la syntaxe du razor)

 

@Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId))

Cependant, cela me donne l’erreur:

ne peut pas implicitement convertir le type void en object

Autant que je puisse dire, l’action du contrôleur est correcte, alors qu’est-ce qui pourrait me donner cette erreur?

Comme ça:

 

@Html.Action(MVC.MeetingActions.ListActions(Model.MeetingId))

ou si vous insistez sur RenderAction comme ceci:

 

@{Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId));}

Personnellement, je préfère le premier, fait moins de frappes.

Html.Partial devrait également fonctionner 🙂

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

J’ai eu le même problème. Ce qui a fonctionné pour moi est d’encapsuler l’expression dans des accolades .

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

Différence entre Html.RenderAction et Html.Action

Différentes choses à des fins différentes. Découvrez le lien ci-dessus.