2012-02-17 13 views
5

ASP.NET MVC 2MVC Metodi parziali con parametri dinamici

sto cercando di scrivere una vista cui parametro generico è dynamic, e poi passare questo modello dinamico di una vista parziale

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

e poi

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

ma sto ottenendo l'errore

'System.Web.Mvc.HtmlHelper' non ha un metodo applicabile chiamato 'RenderPartial', ma sembra avere un metodo di estensione con quel nome ...

Sono pienamente consapevole che i metodi di estensione non può essere spedito con parametri dinamici.

La mia domanda è, c'è una sorta di lavoro specifico MVC in giro?

Questo metodo di estensione deve essere definito in un file statico pubblico da qualche parte, giusto? E 'possibile richiamare RenderPartial da , come si può con LINQ:

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

Sembra che è dichiarato nel [RenderPartialExtensions] (http://msdn.microsoft .com/it/us/library/dd492211.aspx) classe. –

+0

@JohnH - dolce. Qualche idea su dove viene dichiarata RenderAction? Non esiste una classe RenderActionExtensions e google non è utile al momento –

+0

Sei fortunato! [ChildActionExtensions] (http://msdn.microsoft.com/en-us/library/ee721299.aspx). –

risposta

6

Potete trovare RenderPartial in RenderPartialExtensions e RenderAction in ChildActionExtensions.

Quindi, per chiamare questi metodi con un parametro dinamico, faresti:

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

e

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

+1 - "Non lo sapevo" lol, brill –

Problemi correlati