以正确的格式将HTML解析为String

时间:2016-04-15 04:50:46

标签: c# asp.net-mvc razor

基本上我想问一下我正在使用MVC中的ECommerce应用程序,并且已经在数据库中以HTML格式存储了Product的描述。现在,我要做的是在Product Detail页面上显示该描述,使得描述应具有HTML中指定的正确格式,id Description的字符超出比显示“显示更多”和“显示更少”功能的500个字符。

这是我的代码

@if (Model.product.FullDescription.Count() > 500)
{
   <p id="fdescription" class="description">
       @Html.Raw(Model.product.FullDescription.Substring(0, 500))
       <a id="showmore" onclick="showdescription(1)"  
           style="color:rgb(0,127,234);cursor:pointer">
                                             Show More</a>
   </p>
   <p id="ffdescription" class="description">
       @Html.Raw(Model.product.FullDescription)
       <a id="showless" onclick="showdescription(2)" 
          style="color:rgb(0,127,234);cursor:pointer">Show Less</a>
   </p>
 }
 else
 {
    <p id="fdescription" class="description">
        @Html.Raw(Model.product.FullDescription)
    </p>
 }

上面的问题是500个字符也计算html标签,而子字符串函数不能正确解析HTML标签,有些人指出结束标签未命中。

1 个答案:

答案 0 :(得分:0)

一种方法是将描述解析为XElement并询问其值,该值返回没有标记的描述。仅当HTML有效时才有效。

XElement descElem = XElement.Parse(descriptionText); if(descElem.Value&lt; = 500) {//保存到数据库}