style net mvc displayfor color attribute asp css asp.net-mvc-3 razor

css - displayfor - ASP.NET MVC3 Razor-Estilo Html.ActionLink



html displayfor text color (3)

Estoy tratando de establecer el estilo de un enlace de acción así:

<text><p>Signed in as @Html.ActionLink(Context.User.Identity.Name,"Index",new { Controller="Account", @style="text-transform:capitalize;" })</p>

Esperaría que esto se represente como

<p>Signed in as <a href="Index" style="text-transform:capitalize;">MyName</a></p>

Sin embargo, lo que se genera es

<p>Signed in as <a href="/Account?style=text-transform%3Acapitalize%3B">MyName</a></p>

con el estilo adjunto a la url en su lugar. ¿Qué estoy haciendo mal?


Aquí está la firma.

public static string ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, object values, object htmlAttributes)

Lo que estás haciendo es mezclar los values y los htmlAttributes juntos. values son para enrutamiento de URL.

Es posible que desee hacer esto.

@Html.ActionLink(Context.User.Identity.Name, "Index", "Account", null, new { @style="text-transform:capitalize;" });


Reanudar una pregunta anterior porque parece aparecer en la parte superior de los resultados de búsqueda.

Quería conservar los efectos de transición al mismo tiempo que podía diseñar el actionlink, así que se me ocurrió esta solución.

  1. Envolví el enlace de acción con un div que contendría el estilo principal:

<div class="parent-style-one"> @Html.ActionLink("Homepage", "Home", "Home") </div>

  1. A continuación, creo el CSS para el div, este será el CSS padre y lo heredarán los elementos secundarios, como el enlace de acción.

.parent-style-one { /* your styles here */ }

  1. Como todo un enlace de acción es, es un elemento desglosado como html, por lo que solo debe apuntar a ese elemento en su selección de CSS:

.parent-style-one a { text-decoration: none; }

  1. Para efectos de transición, hice esto:

.parent-style-one a:hover { text-decoration: underline; -webkit-transition-duration: 1.1s; /* Safari */ transition-duration: 1.1s; }

De esta forma, solo apuntaré a los elementos secundarios del div, en este caso el enlace de acción, y aún podré aplicar los efectos de transición.


Muestra de VB:

@Html.ActionLink("Home", "Index", Nothing, New With {.style = "font-weight:bold;", .class = "someClass"})

Muestra Css:

.someClass { color: Green !important; }

En mi caso, descubrí que necesito el atributo! Important para sobre montar el sitio.css a: link css class