2016-02-15 5 views
0

У меня есть требование, где я компилирую расширение HtmlHelper, который будет оказывать код статьи:Загрузка частичный вид в коде с ASP.NET MVC 4/Razor

class Article 
{ 
    public string Title { get; set; } 
    public string Description { get; set; } 
    public string ViewName { get; set; } 
} 

До сих пор я могу получить его, чтобы сделать название и описание правильно, но как я могу загрузить HTML из представления в мой помощник и сделать это тоже?

Пример того, как помощник работает:

public static Article(this HtmlHelper helper, Article article) 
{ 
    return $"<h1>{article.Title}</h1>"; 
    //...need to load/append View HTML as well before returning 
} 
+0

Методы расширения HtmlHelper возвращают 'MvcHtmlString'. Неясно, что вы пытаетесь сделать здесь. –

+0

@StephenMuecke внутри моего частичного представления, есть некоторый HTML. Я хочу добавить этот HTML-код в статью до того, как статья будет визуализирована (так что я пишу обертку, которая обертывает статью вокруг некоторого HTML в частичном представлении) - помогает ли это? – series0ne

+1

@ series0ne Вы должны создать HTML-код Partial View, чтобы получить Html от Помощника, а не наоборот. Вы должны установить некоторую структуру в своем html, ожидать html, оказанный вашим помощником. –

ответ

1

Я нашел ответ сам; В интересах оказания помощи другим:

public static MvcHtmlString Article(this HtmlHelper helper, Article article) 
{ 
    StringBuilder sb = new StringBuilder(); 
    sb.Append($"<h1>{article.Title}</h1>"); 
    sb.Append(helper.Partial(article.ViewName).ToHtmlString()); 
    return new MvcHtmlString(sb.ToString()); 
} 
+0

, и вы не можете включить заголовок в частичном? спасая вас от этого ...? – Seabizkit

+0

Сложнее, что это - это очень простой пример; на самом деле, все это отображает заголовок, горизонтальное правило, описание, панель, содержащую HTML, нижний колонтитул панели, содержащий код, который использовался для HTML (тот же HTML в частичном представлении, загруженный другим способом) , а также создает уникальные идентификаторы против статьи для якорной навигации – series0ne

+1

достаточно справедливо ... хорошо сделано на решении, тогда ... Я думаю, было сложно, поскольку я не знал полного намерения. Я бы вложен в Partial view, но это может быть лучше для вашего требования - Up проголосовали ;-). Вам не нужно передавать модель просмотра в Частичный – Seabizkit

Смежные вопросы