2011-08-19 39 views
3

我使用的是富文本编辑器来显示产品页面上的说明,但页面呈现为:如何从富文本编辑器的HTML标签一把umbraco(剃刀)

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

日Thnx提前

+0

到底是什么问题?你是说整个'foreach'循环只呈现一个段落,没有'div',没有'h3'吗? – marapet

回答

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

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