w3schools uso net mvc example asp asp.net-mvc

uso - Haga un Html.ActionLink alrededor de una imagen en ASP.NET MVC?



url.action mvc parameters (6)

La primera respuesta dada por @Craig Stuntz es absolutamente perfecta, pero me preocupa si harás si tienes Ajax.ActionLink lugar de Html.ActionLink . Aquí explicaré soluciones fáciles para ambos métodos. Puede hacer lo siguiente para Html.ActonLink :

@Html.Raw(@Html.ActionLink("[replacetext]", "Index", "Home").ToHtmlString().Replace("[replacetext]", "<img src=/"/Contents/img/logo.png/" ... />"))

mismo concepto se puede aplicar para Ajax.ActionLink

@Html.Raw(@Ajax.ActionLink("[replacetext]", "Index", "Home", new AjaxOptions { UpdateTargetId="dvTest"}).ToHtmlString().Replace("[replacetext]", "<img src=/"/Contents/img/logo.png/" … />"))

así que esto será fácil para ti.

Editar:

Imagen ActionLink con hoja de estilo o nombre de clase

Con hoja de estilo

@Html.Raw(@Ajax.ActionLink("[replacetext]", "Index", "Home", new AjaxOptions { UpdateTargetId="dvTest"}).ToHtmlString().Replace("[replacetext]", "<img src=/"/assets/img/logo.png/" style=/"width:10%/" ... />"))

Con nombre de clase

<style> .imgClass { width:20% }

@Html.Raw(@Ajax.ActionLink("[replacetext]", "Index", "Home", new AjaxOptions { UpdateTargetId="dvTest"}).ToHtmlString().Replace("[replacetext]", "<img src=/"/assets/img/logo.png/" class=/"imgClass/" ... />"))

Para obtener más referencias sobre ActionLink alrededor de Image, visite ActionLink alrededor de Image en Asp.net MVC

¿Cómo puedo hacer algo similar a Html.ActionLink () excepto colocar el enlace generado alrededor de una Imagen en lugar de simplemente escupir el enlace?


Pruebe algo como esto:

public static string ActionLinkWithImage(this HtmlHelper html, string imgSrc, string actionName) { var urlHelper = new UrlHelper(html.ViewContext.RequestContext); string imgUrl = urlHelper.Content(imgSrc); TagBuilder imgTagBuilder = new TagBuilder("img"); imgTagBuilder.MergeAttribute("src", imgUrl); string img = imgTagBuilder.ToString(TagRenderMode.SelfClosing); string url = UrlHelper.Action(actionName); TagBuilder tagBuilder = new TagBuilder("a") { InnerHtml = img }; tagBuilder.MergeAttribute("href", url); return tagBuilder.ToString(TagRenderMode.Normal); }

Espero que esto ayude


Puede crear htmlhelper que puede devolver imágenes con un enlace ... Como parámetros, pasará a los valores de htmlhelper como la ruta de la imagen y el enlace y en htmlhelper utilizará StringBuilder para formatear html de esa imagen vinculada correctamente ...

aclamaciones


Puede usar url.content:

@Url.Content("~/images/img/slide.png")

este camino relativo de retorno


Razor (Ver motor):

<a href="@Url.Action("ActionName", "ControllerName")"> <img src="@Url.Content("~/Content/img/imgname.jpg")" /> </a>

ASPX (motor de vista):

<a href="<%= Url.Action("ActionName", "ControllerName") %>"> <img src="<%= Url.Content("~/Content/img/imgname.jpg") %>" /> </a>

Obviamente, si haces esto más de una vez, escribe un ayudante para ello. Y complete los otros atributos de img / a. Pero esto debería darte la idea general.


más fácil...

cambia tu código por:

<p class="site-title">@Html.ActionLink(" ", "Index", "Home", new { style = "background: url(''" + Url.Content("~/images/logo.png") + "'') no-repeat center right; display:block; height:50px;width:50px;" })</p>