【发布时间】:2015-09-05 18:32:11
【问题描述】:
在我看来,从 beta7 开始,TagBuilder 发生了重大的重大变化,而公告存储库中没有提及它们。
特别是 .ToString 不再呈现标签生成器,它只是返回类型的名称。 以前我们可以在 HtmlHelper 扩展中做这样的事情来构建嵌套的 html 元素:
var li = new TagBuilder("li");
li.AddCssClass("inactive");
var span = new TagBuilder("span");
span.SetInnerText(somestring);
li.InnerHtml = span.ToString();
.InnerHtml 现在不再接受字符串,因为它现在是 IHtmlContent
但由于 .ToString() 不呈现标签,这也不起作用:
li.InnerHtml = new HtmlString(span.ToString())
它只是呈现为“Microsoft.AspNet.Mvc.Rendering.TagBuilder”,即类型的名称。
我没有在 TagBuilder 上看到任何提供所需功能的新方法。 我错过了什么?我现在如何使用 TagBuilder 构建复杂的嵌套 html?
【问题讨论】:
-
TagBuilder实现IHtmlContent所以也许你可以直接将 TagBuilder 分配给li.InnerHtml?
标签: c# asp.net-mvc asp.net-core asp.net-core-mvc