style net mvc imagen como btn boton bootstrap asp css asp.net-mvc asp.net-mvc-2 html-helper actionlink

css - net - html.actionlink bootstrap button



Html.ActionLink con un ID HTML especificado? (4)

Básicamente está dando un error porque no hay sobrecarga de método que tenga la firma que desea.

La firma más cercana a la que necesitas es

public static string ActionLink( this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, Object routeValues, Object htmlAttributes

)

Está transfiriendo el atributo id al valor route, razón por la cual le ofrece el divertido href. Pase null en el valor route, luego agregue sus atributos htm

Me gustaría dar a los Html.ActionLink generados con Html.ActionLink una identificación HTML para que pueda cambiar el CSS dependiendo de dónde estoy. Tengo una página MasterPage con un conjunto de enlaces y me gustaría distinguir la "pestaña" activa con Jquery cambiando la CSS de esa #id activa

En este momento estoy usando:

<%: Html.ActionLink("Some View", "Index", "controller")%>

Genera:

<a href="/controller">Some View</a>

Me gustaría generar:

<a id="something" href="/controller">Some View</a>

¿Es eso posible? He intentado:

<%: Html.ActionLink("Some View", "Index", "controller", new {id="blahbla")%>

Pero eso genera:

<a href="/controller/Length?5">Some View</a>


Estabas en el camino correcto. No estoy seguro de por qué no funcionó, ya que su código tiene un error tipográfico que habría producido un } expected error } expected . Lo siguiente es lo que estás buscando:

<%= Html.ActionLink("Test Link", "SomeAction", "SomeController", null, new {id = "someID" }) %>

Que produce el siguiente HTML:

<a href="/SomeController/SomeAction" id="someID">Test Link</a>

Editar: Me acabo de dar cuenta de cuál es el problema porque estaba leyendo mal lo que probaste. Está utilizando la sobrecarga incorrecta para pasar el elemento id html. Probablemente pases el new { id="blah" } parámetro new { id="blah" } en el parámetro routeValues , que hará que se use al construir el enlace de la ruta, en lugar del htmlAttributes que es lo que deseas.

Creo que estás usando:

ActionLink(string linkText, string actionName, Object routeValues, Object htmlAttributes)

Cuando lo que necesita usar es la siguiente sobrecarga, como hice anteriormente en mi respuesta:

ActionLink(string linkText, string actionName, string controllerName, Object routeValues, Object htmlAttributes)

Lo que asegura que se pase new { id="blah" } al htmlAttributes .


Prueba esto:

<%: Html.ActionLink("Some View", "Index", "controller", null, new {id="something}")%>


prueba esto

@Html.ActionLink("Forgot your access?", "RecoverPassword", "Account", new { area = "registration-full.html" }, new { @class = "col-xs-6", id = "login-forget-link" })