Tengo dos preguntas:
- Me pregunto cómo no puedo mostrar ningún texto de enlace cuando lo uso
Html.ActionLink()
en una vista MVC (en realidad, esto esSite.Master
).
No hay una versión sobrecargada que no permita el texto del enlace, y cuando intento pasar solo un espacio en blanco string
, el compilador me dice que necesita una cadena no vacía.
¿Cómo puedo arreglar esto?
Necesito poner
<span>
etiquetas dentro de la etiqueta de anclaje, pero no funcionaHtml.ActionLink();
. Me gustaría ver el siguiente resultado:Texto de extensión
¿Cómo puedo poner etiquetas dentro de la etiqueta de anclaje en ASP.NET MVC?
c#
.net
asp.net-mvc
actionlink
MegaMatt
fuente
fuente
<li>
que está viendo es un botón de navegación particular (con tamaño, posición de fondo, etc., especificado en la hoja de estilo CSS). Pero debe vincularse a algo, por lo que no quiero mostrar el texto. Quiero que el sprite haga eso por mí.Respuestas:
En lugar de usar Html.ActionLink, puede representar una url a través de Url.Action
Y para hacer una url en blanco podrías tener
fuente
<a [email protected]("Create", "Product")><span>Create</span></a>
También funciona. Las cotizaciones no son obligatorias.Una extensión HtmlHelper personalizada es otra opción. Nota : ParameterDictionary es mi propio tipo. Podría sustituir un RouteValueDictionary pero tendría que construirlo de manera diferente.
fuente
Aquí hay una solución alternativa (baja y sucia) en caso de que necesite usar ajax o alguna característica que no pueda usar al hacer un enlace manualmente (usando la etiqueta):
Puede usar cualquier texto en lugar de 'LinkTextToken', solo está para ser reemplazado, solo es importante que no ocurra en ningún otro lugar dentro de actionlink.
fuente
Html.Raw()
date-
atributos, esta es la mejor solución para mí. +1Solo use en
Url.Action
lugar deHtml.ActionLink
:fuente
Esto siempre me ha funcionado bien. No es desordenado y muy limpio.
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>
fuente
Terminé con un método de extensión personalizado. Vale la pena señalar que, cuando se trata de colocar HTML dentro de un objeto Anchor, el texto del enlace puede estar a la izquierda o a la derecha del HTML interno. Por esta razón, opté por proporcionar parámetros para el HTML interno izquierdo y derecho: el texto del enlace está en el medio. Tanto el HTML interno izquierdo como el derecho son opcionales.
Método de extensión ActionLinkInnerHtml:
Ejemplo de uso:
Aquí hay un ejemplo de uso. Para este ejemplo, solo quería el html interno en el lado derecho del texto del enlace ...
Resultados:
esto da como resultado el siguiente HTML ...
fuente
Pensé que esto podría ser útil al usar bootstrap y algunos glypicons:
Esto mostrará una etiqueta A, con un enlace a un controlador, con un buen ícono de clip para representar un enlace de descarga, y la salida html se mantiene limpia
fuente
Aquí hay una gran expansión de la respuesta de @ tvanfosson. Me inspiró y decidí hacerlo más genérico.
fuente
Es muy simple.
Si desea tener algo como un icono de glifo y luego "Lista de deseos",
fuente
Mi solución usando componentes de arranque:
fuente
Por favor, intente debajo del Código que puede ayudarlo.
fuente