【问题标题】:How to create HtmlTag from String如何从字符串创建 HtmlTag
【发布时间】:2016-01-11 03:03:00
【问题描述】:

我正在使用HTMLTags 库来编写一些 MVC Html Helper 类。但是,我不想从头开始编写所有内容,并且希望将现有的 MVC Html 扩展 Helper 方法用于某些代码。问题是我无法弄清楚如何将 MVCHtmlString 或 String 解析为 HTMLTag。

我偶然发现了一个旧的article,它确实提到了 HTMLTags 库是使用 Html Agility Pack 实现的,但我在新版本中找不到这种方法。

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

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      相关资源
      最近更新 更多