2012-06-21 66 views
3

這裏是我的剃刀代碼:Razor - 如何在div標籤中顯示html內容?

 <fieldset> 
      <legend>Headline News</legend> 

       @foreach (var item in Model) 
       { 
        <div>@Html.DisplayFor(modelitem => item.Description)</div> 
       } 
     </fieldset> 

item.Description值是HTML:

<table border="0" cellpadding="2" cellspacing="7" style="vertical-align:top;"><tr><td width="80" align="center" valign="top"> 
    {{ table info }} 
</table> 

其實我是想顯示HTML內容,但它顯示爲HTML標籤。提前致謝!

回答

12

你應該使用:

@foreach (var item in Model) 
      { 
       <div>@Html.Raw(item.Description)</div> 
      } 
+0

謝謝,它的工作原理! – WinFXGuy

+0

歡迎:)) –

+0

但是,對我來說正確的語法是:

@Html.Raw(item.Description)
WinFXGuy

2

您需要使用@Html.Raw()

@Html.DisplayFor(modelitem => @Html.Raw(item.Description)) 
0

你不一定需要使用@Html.Raw,除非有需要被解析爲HTML某些HTML標記。您還可以使用

<fieldset> 
<legend>Headline News</legend> 
@foreach (var item in Model) 
{ 
<div>@item.Description</div> 
} 
</fieldset> 

如果你想使用@Html.Raw,只要確保使用@Html.AttributeEncode防止腳本注入

+0

如何使用@ Html.AttributeEncode?此外,

@item.Description
給我語法錯誤。 – WinFXGuy