将在javascript中使用encodedURI编码的网址解码为C#

时间:2015-08-13 06:47:30

标签: javascript c# html url decode

我正在添加简单的文章。我有一个CKEditor,我从这些数据中取出并用javascript中的encodeURI对其进行编码,然后将其发送到 ViewController ,然后将其放入数据库中的表中。然后我想展示文章,所以我<% HTML.RenderAction("MyAction); %>"并在此操作中使用HttpUtility.UrlDecode(content)解码数据库中的网址。但它显示了HTML标签而不是格式化。它显示为文本。在Chrome中我单击右键并显示HTML,然后会出现如下字样:

  

&安培; LT; p&amp; gt;这里有一些文字&amp; lt; / p&amp; g t; ​​

我添加的字符之间没有空格,因为它显示

  

&LT p为H.;&LT; / p为H.

我该怎么做才能让它正常工作?

2 个答案:

答案 0 :(得分:1)

  1. 您需要使用HttpUtility.HtmlDecode,而不是HttpUtility.UrlDecode
  2. 也许您还需要使用@Html.Raw()来展示您的内容

答案 1 :(得分:0)

由于您要解码html而不是网址,因此您需要使用HttpUtility.HtmlDecode

HttpUtility.UrlDecode不知道如何处理html标签,只能使用url格式,因此在html上尝试url decode会提供如下内容:

& lt; p &gt ; Some text here&lt ; / p & g t;

这是html的字符串表示,基本上证明它正在做的事实上是正确的,因为它正在解码,而不是你需要的格式。 Cocnlusion是:

HttpUtility.HtmlDecode