我正在使用HTMLTags库来编写一些MVC Html Helper类。但是,我不想从头开始编写所有内容,并希望利用现有的MVC Html扩展Helper方法来处理某些代码。问题是我无法弄清楚如何将MVCHtmlString或String解析为HTMLTag。
我偶然发现了一个旧的article,确实提到HTMLTags库使用Html Agility Pack,但我在新版本中找不到这种方法。
有人可以帮我解析如何解析字符串并将其转换为HtmlTag类吗?
答案 0 :(得分:0)
我最终创建了自己的扩展方法,将MvcHtmlString转换为HtmlTag。
public static HtmlTag ToHtmlTag(this MvcHtmlString html)
{
HtmlTag htmlTag = null;
var doc = new HtmlDocument();
doc.LoadHtml(html.ToHtmlString());
var tag = doc.DocumentNode.FirstChild;
if (tag != null)
{
htmlTag = new HtmlTag(tag.Name);
foreach (var attribute in tag.Attributes)
{
htmlTag.Attr(attribute.Name, attribute.Value);
}
}
return htmlTag;
}
我希望HtmlTags库包含一些解析字符串的方法但是因为它不是我认为的第二种方法。
现在我可以简单地将此扩展方法称为
var tag = html.TextBoxFor(expression, (String) null).ToHtmlTag();