2015-08-13 49 views
0

我正在添加簡單的文章。我有一個CKEditor,我從這些數據中取出並在JavaScript中使用encodeURI進行編碼,並將它發送到ViewController然後我將它放入數據庫的表中。然後我想顯示文章,所以我<% HTML.RenderAction("MyAction); %>",並在此行動中我使用HttpUtility.UrlDecode(content)解碼來自數據庫的網址。但它顯示了例如HTML標籤,而不是被格式化。它顯示爲一個文本。在Chrome中,我點擊右鍵並顯示HTML,然後顯示以下文字:在javascript中將encodeURI編碼的URL解碼爲C#

& lt; GT; & GT;這裏的一些文字& lt;/p & g t;

有字符之間沒有空格我加入他們,因爲它表明

<p> </P >

我能做些什麼,使之正常工作?

回答

1
  1. 您需要使用HttpUtility.HtmlDecode,不HttpUtility.UrlDecode
  2. 也許你還需要使用@Html.Raw()顯示內容
+0

我使用URI進行編碼,因此使用'HttpUtility.HtmlDecode'解碼不起作用。但第二點是正確的。我在MVC 2中工作,所以沒有'@ Html.Raw()',但是我使用了'MVCHtmlString.Create(content)',就是這樣! –

0

因爲你是解碼HTML,而不是網址,你需要使用HttpUtility.HtmlDecode

HttpUtility.UrlDecode不知道如何處理的HTML標籤,只有一個網址格式,所以想在HTML URL解碼會提供成才,如:

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

這是HTML的字符串表示,這基本上證明它所做的事實際上是正確的,因爲它是解碼,而不是你所需要的格式。 Cocnlusion是:

HttpUtility.HtmlDecode 
+0

但我用javascript將它編碼爲URI,並且有一個百分比編碼。 –