c# - no puede convertir implícitamente el tipo void a object..NET MVC PartialViewResult
asp.net-mvc asp.net-mvc-3 (4)
Tengo la siguiente acción de controlador:
[ChildActionOnly]
public virtual PartialViewResult ListActions(int id)
{
var actions = meetingActionRepository.GetAllMeetingActions(id);
return PartialView(actions);
}
Y el siguiente enlace de acción (usando t4MVC y la sintaxis de la afeitadora)
<p>
@Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>
Sin embargo, esto me da el error:
no puede convertir implícitamente el tipo void a objeto
Hasta donde puedo decir que la acción del controlador está bien, entonces ¿qué podría estar causando este error?
Me gusta esto:
<p>
@Html.Action(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>
o si insiste en RenderAction
esta manera:
<p>
@{Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId));}
</p>
Personalmente prefiero el primero, hace menos pulsaciones de teclas.
Tuve el mismo problema. Lo que funcionó para mí es encapsular la expresión entre llaves .
@{Html.RenderPartial("viewName", Model);}
Diferencia entre Html.RenderAction y Html.Action
Diferentes cosas para diferentes propósitos. Mira el enlace de arriba.
Html.Partial debería funcionar también :)
@Html.Partial("View", Model);