【发布时间】:2016-02-15 12:27:56
【问题描述】:
我有一个需求,我正在构建一个 HtmlHelper 扩展,它将呈现代码文章:
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
}
【问题讨论】:
-
HtmlHelper扩展方法返回MvcHtmlString。不清楚你在这里想做什么。 -
@StephenMuecke 在我的局部视图中,有一些 HTML。我想在文章被渲染之前将这个 HTML 添加到文章中(所以基本上我正在编写一个包装器,在部分视图中将文章包装在一些 HTML 周围) - 这有帮助吗?
-
@series0ne 您应该将部分视图的 HTML 设计为从 Helper 接收 Html,而不是相反。您必须在您的 html 中设置一些结构,以期待您的助手呈现的 html
-
@PedroBenevides 我想要它的另一个原因是,我想以两种方式呈现 HTML,1. 我想呈现视图中的 HTML;其次,我想将 HTML 呈现为页面上的代码块,以便人们可以看到创建示例中的视图的 HTML 代码。
-
@series0ne 只是为了澄清这一点,这不是部分观点......这是 HTML MVC 助手,它们是完全不同的两件事......我建议你更改标题。跨度>
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor