asp.net mvc - Usando etiquetas HTML dentro del linkText de Html.ActionLink
asp.net-mvc (4)
El HTML del ayudante Html.ActionLink codifica el texto del enlace que le impide incrustar HTML en el texto del enlace.
Por esta misma razón, no puede usar Html.ActionLink y pasar una etiqueta para hacer que una imagen sea un hipervínculo.
Para el estilo básico de un enlace, recomiendo usar una de las sobrecargas Html.ActionLink para especificar un estilo CSS a través de la sintaxis del objeto anónimo, como ...
@Html.ActionLink("Please Edit Me", "Edit", null, new { style="font-weight:bold;" })
Desafortunadamente, eso se aplica en negrita a todo el texto del hipervínculo cuando lo que quiere es simplemente que la palabra Editar esté en negrita. En cuyo caso yo haría esto ...
<a href="@Url.Action("Edit")">Please <b>Edit</b> Me</a>
... o esto ...
<a href="@Url.Action("Edit")">Please <span style="font-weight:bold;">Edit</span> Me</a>
¿Es posible usar etiquetas HTML en el linkText de Html.ActionLink? Por ejemplo, si quisiera poner en negrita parte del texto de un enlace, intentaría algo similar a esto:
<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>
pero eso solo produce
Some <b>bold</b> text
Sé que podría hacerlo usando una etiqueta de anclaje y configurando la URL con Url.Action, pero solo quería saber si esto era posible.
Esto funciona para mí:
@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))
Esencialmente, use ActionLink para crear el html con un marcador de posición para lo que desea reemplazar (''XXX''), luego conviértalo en una cadena HTML, reemplace el marcador de posición con su marca, renderice la cadena como HTML.Raw.
No es posible, pero puede crear un HtmlHelper
para esto, vea here o use Url.Action
lugar de lo que le recomendaría.
No; no es posible.
Necesitas escribir manualmente una etiqueta <a>
.