2012-10-09 49 views
6

可能重複:
Razor syntax prevent escaping html in an action link如何在ASP .NET MVC Razor視圖引擎中使用@ Html.ActionLink()生成鏈接,如果鏈接文本包含html,這也應該呈現?

我怎麼能生成鏈接,其中包含圖像,使用ASP.NET MVC Razor視圖引擎@Html.ActionLink()方法。此方法採用內鏈接文本作爲第一個參數,所以我嘗試:

@{ 
string linkInnerHtml = string.Format("<img src=\"{0}\" /> Tiles", MyClass.GetImgSrc()); 
} 
@Html.ActionLink(linkInnerHtml, "action" ...) 

但是,作爲一個結果,我得到了與<img src="/source.img" /> Tiles內部文本鏈接。 HTML沒有渲染。

回答

23

用手寫出來,使用Url.Action來呈現href屬性值。

<a href="@Url.Action("action"...)"> 
    <img src="@MyClass.GetImgSrc()" /> Tiles 
</a> 
0

ASP.NET已經實用與System.Web.MVC

@MvcHtmlString.Create(linkInnerHtml) 

創建的字符串HTML在你的情況下

@Html.ActionLink(MvcHtmlString.Create(linkInnerHtml), "action" ...) 
+2

這不會編譯。 –

相關問題