2012-02-17 25 views
5

ASP.NET MVC 2MVC Métodos parciales con parámetros dinámicos

Estoy intentando escribir una vista cuyo parámetro genérico es dynamic, y luego pasar este modelo dinámico a una vista parcial

<%@ Page Title="" ..... Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 

y luego

<% Html.RenderPartial("MenuTabsPartial", Model); %> 

pero estoy consiguiendo el error

'System.Web.Mvc.HtmlHelper' no tiene ningún método aplicable llamado 'renderPartial', pero parece tener un método de extensión por ese nombre ...

Soy plenamente consciente de que los métodos de extensión no pueden ser despachado con parámetros dinámicos

Mi pregunta es, ¿hay algún tipo de trabajo MVC específico?

Este método de extensión tiene que definirse en un calss público estático en alguna parte, ¿verdad? ¿Es posible invocar renderPartial de existe, al igual que se puede con LINQ:

Enumerable.Where(stringArray, s => s.StartsWith("Adam")); 
+1

Parece que ha declarado en el [RenderPartialExtensions] (http://msdn.microsoft .com/en-us/library/dd492211.aspx) clase. –

+0

@JohnH - dulce. ¿Alguna idea de dónde se declara RenderAction? No hay clase RenderActionExtensions y google no es útil en este momento –

+0

¡Estás de suerte! [ChildActionExtensions] (http://msdn.microsoft.com/en-us/library/ee721299.aspx). –

Respuesta

6

puede encontrar en RenderPartialRenderPartialExtensions y RenderAction en ChildActionExtensions.

Así que llamar a estos métodos con un parámetro dinámico, que haría:

<% RenderPartialExtensions.RenderPartial(Html, "MenuTabsPartial", Model); %> 

y

<% ChildActionExtensions.RenderAction(Html, "List", Model); %> 
+2

+1 - 'No sabía eso' lol, brill –

Cuestiones relacionadas