2012-02-17 79 views
5

ASP.NET MVC 2MVC动态参数局部方法

我试图写它的泛型参数是dynamic一个视图,然后通过这个动态模型的局部视图

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

然后

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

,但我得到的错误

“System.Web.Mvc.HtmlHelper”有一个名为没有适用的方法“的RenderPartial”,但似乎该名称有一个扩展方法...

我充分认识到,扩展方法不能用动态参数分派。

我的问题是,是否有某种MVC特定的工作?

这个扩展方法必须在公共静态calss中定义,对吗?是否有可能从调用的RenderPartial一样可以使用LINQ:

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

看来它在[RenderPartialExtensions(http://msdn.microsoft声明.com/en-us/library/dd492211.aspx)类。 – 2012-02-17 16:58:33

+0

@JohnH - 甜美。任何想法在RenderAction声明?目前没有RenderActionExtensions类,谷歌目前无益 – 2012-02-17 17:02:19

+0

你很幸运! [ChildActionExtensions](http://msdn.microsoft.com/en-us/library/ee721299.aspx)。 – 2012-02-17 17:03:36

回答

6

你可以在RenderPartialExtensionsRenderPartialRenderActionChildActionExtensions

所以调用这些方法与动态参数,你会怎么做:

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

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

+1 - '我不知道'大声笑,布里尔 – 2012-02-17 17:09:37