我使用富文本编辑器在产品页面上显示说明,但页面呈现为:
<p>text description</p>
描述的宏是:
Razor语法:
@foreach ( var page in @Model.Children)
{
<div id="productSection">
<div id="productstext">
<div id="image">
<a href="@page.Url"><img src="@page.productImage" height="200px" width="230px"/></a> </div>
<div id="title">
<h3>@page.GetProperty("productTitle") </h3> </div>
<div id="description">
@page.GetProperty("product") </div>
</div>
</div>
}
Thnx提前
答案 0 :(得分:6)
如果问题是如何删除在富文本周围呈现的段落标记,您可以尝试以下解决方案是否适合您:
@umbraco.library.RemoveFirstParagraphTag(page.product.ToString())
您可能希望将其包装在帮助器中:
@helper RemoveParagraph(HtmlString s)
{
@Html.Raw(umbraco.library.RemoveFirstParagraphTag(s.ToString()))
}
然后像这样调用id:
@Helpers.RemoveParagraph(page.product)
请注意,umbraco.library.RemoveFirstParagraphTag
也会删除换行符(大部分时间都不是问题)。
另见Umbraco论坛帖子关于这个问题:http://our.umbraco.org/forum/developers/razor/19379-Remove-paragraph-tags-with-razor
答案 1 :(得分:2)
我们在其中一个项目中遇到了同样的问题,并通过这种简单的方式解决了这个问题。使用“@ Html.Raw()”包装值可以解决问题。
<section class="links">
@{
var Link = Model.Content.Descendants("links");
<ul>
@foreach (var links in Link)
{
<li data-category="@(links.GetProperty("weblinkCategory").Value)">
<a href="@(links.GetProperty("weblinkAddress").Value)">
@(links.GetProperty("weblinkTitle").Value)
<span>@Html.Raw(links.GetProperty("weblinkDescription").Value)</span>
</a>
</li>
}
</ul>
}
答案 2 :(得分:0)
Umbraco 8 已删除不推荐使用的方法 coverage: unknown
。
相反,您可以使用:
RemoveFirstParagraphTag
其中 @Html.Raw(Model.Content.ToString().Trim().Substring(3).Substring(0, Model.Content.ToString().Trim().Length - 7))
是您的财产的名称。