5

我正在使用富文本编辑器在产品页面上显示描述,但页面呈现为:

<p>text description</p>

描述的宏是:

剃刀语法:

@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>
} 

提前谢谢

4

3 回答 3

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

于 2011-08-20T09:32:13.080 回答
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>
}

于 2013-05-31T21:01:23.200 回答
0

Umbraco 8 已删除不推荐使用的方法RemoveFirstParagraphTag

相反,您可以使用:

@Html.Raw(Model.Content.ToString().Trim().Substring(3).Substring(0, Model.Content.ToString().Trim().Length - 7))

Content您的财产名称在哪里。

于 2021-05-04T13:26:06.713 回答