2012-10-09 64 views
6

Duplicar posible:
Razor syntax prevent escaping html in an action linkCómo generar un enlace utilizando @ Html.ActionLink() en ASP.NET MVC Razor vista del motor si el texto del enlace contiene html, que también se debe representar?

¿Cómo puedo generar enlace, que contiene la imagen, usando ASP.NET MVC Razor vista motor @Html.ActionLink() método. Este método toma el texto del vínculo interno como primer parámetro, por lo que intentó:

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

pero, como resultado, tengo vínculo con <img src="/source.img" /> Tiles texto interno. HTML no se procesó

Respuesta

23

Escríbalo a mano, utilizando Url.Action para representar el valor del atributo href.

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

ASP.NET ya tienen una utilidad para crear HTML de cadena con System.Web.Mvc

@MvcHtmlString.Create(linkInnerHtml) 

En caso de que

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

Esto no se compilará. –

Cuestiones relacionadas