2010-11-24 28 views

回答

9

您可以簡單地使用

HttpUtility.HtmlEncode("<br />"); 

有一個look here進一步的細節。

編輯

我很抱歉,但我不明白一開始的問題。我以爲你想編碼傳遞的字符串。有時我讀的問題太快:)

無論如何要完全回答你的問題看看這些樣品。假設在你的行動,你必須:

[HttpGet] 
public virtual ActionResult Index() { 
    ViewData["Message"] = "This is a test." + "<br />" + "Does it work?"; 
    return View(); 
} 

而且在你看來,你有

<p>Sample 1: <br /><%= ViewData["Message"]%></p> 
<p>Sample 2: <br /><%: ViewData["Message"]%></p> 

注意這兩個結構之間的差異。您將得到以下結果:

Sample 1: 
This is a test. 
Does it work? 

Sample 2: 
This is a test.<br />Does it work? 

所以第一個樣本用法回答您的問題。關鍵是簡單地不編碼字符串,而不是開始時我所理解的。第二個構造是使用<%: %>的構造,如果您使用的是.NET 4.0,,則自動使用對呈現的每個字符串進行編碼。

如果你仍然想使用這個最新的構造,並避免字符串將被編碼,你必須使用一個技巧。只需告訴構造該字符串已經被編碼,並且不需要重新編碼。爲了實現這一目標使用此示例代碼

[HttpGet] 
public virtual ActionResult Index() { 
    ViewData["Message2"] = MvcHtmlString.Create("This is a test." + "<br />" + "Does it work?"); 
    return View(); 
} 

,並在視圖中正常使用<%: %>構建

<p>Sample 3: <br /><%: ViewData["Message2"]%></p> 

有關詳細信息有關使用MvcHtmlString以及它是如何工作的,請參閱本question上左右。

Ciao!

+0

不要忘了標記你的感覺是這樣回答的問題! – Lorenzo 2010-11-25 09:51:44

0

你嘗試\ n或者數據的ViewData字符串本身裏面\ r?

+0

這是我嘗試的第一件事情之一..但沒有工作 – 2010-11-25 20:13:19

相關問題