如何从字符串创建HtmlTag

本文关键字:创建 HtmlTag 字符串 | 更新日期: 2023-09-27 18:29:41

我正在使用HTMLTags库来编写一些MVC Html Helper类。然而,我不想从头开始写所有的东西,并且希望利用现有的MVC Html扩展Helper方法来编写一些代码。问题是我不知道如何将MVCHtmlString或String解析为HTMLTag。

我偶然发现了一篇旧文章,其中提到了HTMLTags库使用Html敏捷包进行操作,但我在新版本中找不到这种方法。

有人能帮助我如何解析字符串并将其转换为HtmlTag类吗?

如何从字符串创建HtmlTag

我最终创建了自己的扩展方法,将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();