Частичное представление строки в MVC 3 - PullRequest
1 голос
/ 08 сентября 2011

Поиск вокруг Я не нашел ни одного недавнего ответа на этот вопрос.

Другие ответы, которые я нашел, сосредоточены на версиях 1 и 2 инфраструктуры MVC.

Теперь с MVC 3Есть ли простой способ выполнить и вернуть частичное представление в виде строки или мы все еще должны реализовывать наше собственное решение?как можно найти в других ответах, таких как:

ASP.NET MVC Razor: Как отобразить HTML Razor Partial View внутри действия контроллера

(обратите внимание,Статья, представленная в принятом ответе, относится к MVC 2).

1 Ответ

2 голосов
/ 23 июня 2012

Чтобы отобразить частичное в строку в 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);
            }
        }
...