HttpUtility.HtmlDecode在if块中不起作用

时间:2016-05-04 11:11:26

标签: c# asp.net asp.net-mvc razor

我在Asp.Net MVC Razor视图中有这段代码

            <p>
                     @if(dev.summary.Length > 250 )
                    {
                      <span> @Html.Raw(HttpUtility.HtmlDecode(dev.summary)).ToString().Substring(0, 208) ... </span> <span> <a href="Development/Details/@dev.id">more</a></span>
                    }else
                    {
                       @Html.Raw(HttpUtility.HtmlDecode(dev.summary))
                    }
                </p>

问题是&#39;中的代码&#39; block不会删除内容中的html标记,而是删除“其他”中的代码。块工作正常。请注意&#34;摘要&#34;内容来自CKeditor,这就是为什么我们有html标签。

请知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

我找到了自己问题的答案,这就是我所做的

            @if(dev.summary.Length > 250 )
               {
                      <span> @Html.Raw(HttpUtility.HtmlDecode(dev.summary).ToString().Substring(0, 208)) ... </span> <span> <a href="Development/Details/@dev.id">more</a></span>
               }else
               {
                       @Html.Raw(HttpUtility.HtmlDecode(dev.summary))
                }

我基本上将ToString()Substring()方法放在@Html.Raw()辅助方法中。我希望有人发现它很有用