我有一个属性,它是Umbraco 7中的富文本编辑器。
我希望获得此属性的部分内容,更确切地说,是第一个p标记。
我如何在Umbraco中实现这一目标?他们是我可以使用的帮手类吗?
答案 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窗体,那么您可以创建一个剃刀宏并使用上面的代码执行相同的任务。