控制器中的Html.Raw

时间:2016-09-19 19:52:51

标签: c# asp.net-mvc asp.net-mvc-4 itext html-helper

我从编辑器获取内容,所以内容包括像“ dddd ”这样的html标签

我必须从内容中删除html标签,因为我使用itextsharp.DLL将这个内容写入PDF(在c#-controller动作中生成pdf)但是使用html标签的itextsharp内容,它不会呈现html标签,如下面的屏幕所示< / p>

enter image description here

c#(action -controller)中没有Html.Raw函数或HtmlHelper.Raw函数

我该怎么做?我尝试用正则表达式删除html标签,但内容非常复杂,而且是动态的,所以有很多html标签

2 个答案:

答案 0 :(得分:0)

一种方法是使用像HTML Agility Toolpack这样的HTML解析器。我已成功地将此问题用于解决问题(但与其开发无关)。来自网站:

  

这是一个敏捷的HTML解析器,它构建一个读/写DOM并支持普通的XPATH或XSLT(你实际上并不了解XPATH或XSLT使用它,不用担心......) 。它是一个.NET代码库,允许您解析网络&#34; HTML文件。解析器非常容忍&#34;现实世界&#34;格式错误的HTML。对象模型与提出System.Xml非常相似,但对于HTML文档(或流)。

您可以在线找到大量示例,以满足您的需求。

答案 1 :(得分:0)

你可以在控制器中使用 Html.Raw Html.Json

示例

如果我在View中使用它

 var attrilist = @Html.Raw(Json.Encode(attriFeildlist));

然后我可以在Controller中使用它作为此代码的替代

var jsonencode = System.Web.Helpers.Json.Encode(attriFeildlist);
var htmlencode=    WebUtility.HtmlEncode(jsonencode);