获取第一个P标签RichTextEditor属性的内容

时间:2015-01-29 20:33:13

标签: umbraco umbraco7

我有一个属性,它是Umbraco 7中的富文本编辑器。

我希望获得此属性的部分内容,更确切地说,是第一个p标记。

我如何在Umbraco中实现这一目标?他们是我可以使用的帮手类吗?

1 个答案:

答案 0 :(得分:0)

没有一种辅助方法可以直接使用,但编写自己的方法应该不会太难。

如果您正在使用MVC,那么您可以按如下方式编写MVC HtmlHelper的扩展名:

public static string GetFirstParagraph(this HtmlHelper helper, IHtmlString input)
{
    if (input != null && input.ToString() != string.Empty)
    {
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(input.ToString());
        var p = htmlDoc.DocumentNode.SelectSingleNode("//p");
        if (p != null)
        {
            return p.InnerText;
        }
    }

    return null;
}

要在视图中调用此方法,只需键入:

@Html.GetFirstParagraph(Umbraco.Field("yourPropertyAlias"))

如果使用Umbraco Field方法,或者:

@Html.GetFirstParagraph(Model.YourProperty)

如果您的观点是强类型的。

如果您实际使用的是Web窗体,那么您可以创建一个剃刀宏并使用上面的代码执行相同的任务。