2012-10-09 22 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

这不会编译。 –

相关问题