ASP.NET MVC3 Razor - стиль Html.ActionLink
Я пытаюсь установить стиль ссылки действия так:
<text><p>Signed in as @Html.ActionLink(Context.User.Identity.Name,"Index",new { Controller="Account", @style="text-transform:capitalize;" })</p>
Я ожидаю, что это будет отображаться как
<p>Signed in as <a href="Index" style="text-transform:capitalize;">MyName</a></p>
Однако то, что сгенерировано,
<p>Signed in as <a href="/Account?style=text-transform%3Acapitalize%3B">MyName</a></p>
со стилем, добавленным к URL-адресу. Что я делаю неправильно?
Ответы
Ответ 1
Здесь подпись.
public static string ActionLink(this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
object values,
object htmlAttributes)
Что вы делаете, это смешивание values
и htmlAttributes
вместе. values
предназначены для маршрутизации URL.
Возможно, вы захотите сделать это.
@Html.ActionLink(Context.User.Identity.Name, "Index", "Account", null,
new { @style="text-transform:capitalize;" });
Ответ 2
Пример VB:
@Html.ActionLink("Home", "Index", Nothing, New With {.style = "font-weight:bold;", .class = "someClass"})
Пример Css:
.someClass
{
color: Green !important;
}
В моем случае я обнаружил, что мне нужен важный атрибут, чтобы переместиться на сайт site.css a: link css class
Ответ 3
Возрождение старого вопроса, потому что он, кажется, появляется в верхней части результатов поиска.
Я хотел сохранить эффекты перехода, сохраняя при этом возможность стилизовать actionlink, поэтому я придумал это решение.
- Я завернул ссылку на действие с div, который будет содержать родительский стиль:
<div class="parent-style-one">
@Html.ActionLink("Homepage", "Home", "Home")
</div>
- Далее я создаю CSS для div, это будет родительский css и будет наследоваться дочерними элементами, такими как ссылка действия.
.parent-style-one {
/* your styles here */
}
- Поскольку все ссылки на действия есть, это элемент, который разбивается на html, поэтому вам просто нужно настроить таргетинг на этот элемент в вашем выборе css:
.parent-style-one a {
text-decoration: none;
}
- Для эффектов перехода я сделал это:
.parent-style-one a:hover {
text-decoration: underline;
-webkit-transition-duration: 1.1s; /* Safari */
transition-duration: 1.1s;
}
Таким образом, я нацелен только на дочерние элементы div в этом случае на ссылку действия и все еще могу применять эффекты перехода.