2011-09-08 57 views
1

搜索周围我还没有发现任何最近的问题的答案。部分视图到MVC中的字符串3

我发现的其他答案都集中在MVC框架的版本1 & 2上。

现在使用MVC 3,是否有一种简单的方法来执行并返回一个字符串的部分视图,或者我们是否仍然在暗示我们自己的解决方案?如可以在其他的答案中找到,如:

ASP.NET MVC Razor: How to render a Razor Partial View's HTML inside the controller action

(注意,在接受的答案给出的文章是指MVC 2)。

回答

2

要在MVC3中渲染部分字符串,我们可以使用HtmlHelper.Partial方法。

将指定的局部视图呈现为HTML编码的字符串。

来源:MSDN

这种情况的一个例子可以在HtmlHelper扩展,我写为RenderPartials启用的基于集合的单个部分的n倍的再现中可以看出。 (减轻视图中对环路的需求)

public static void RenderPartials<T>(this HtmlHelper helper, 
            string partialViewName, 
            IEnumerable<T> models, 
            string htmlFormat) 
     { 
      if (models == null) 
       return; 

      foreach (var result in models 
            .Select(
             item => helper.Partial(partialViewName, item))) 
      { 
       helper.ViewContext.Writer.Write(htmlFormat, result); 
      } 
     }