私はアクションリンクのスタイルを次のように設定しようとしています:
<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にスタイルが追加されます。私は何を間違えていますか?
これが署名です。
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;" });
VBサンプル:
@Html.ActionLink("Home", "Index", Nothing, New With {.style = "font-weight:bold;", .class = "someClass"})
サンプルCss:
.someClass
{
color: Green !important;
}
私の場合、site.cssをオーバーライドするには!important属性が必要であることがわかりましたa:link css class
検索結果の上部に表示されるように見えるため、古い質問を復活させる。
アクションリンクのスタイルを設定しながらトランジション効果を保持したかったので、このソリューションを思いつきました。
<div class="parent-style-one"> @Html.ActionLink("Homepage", "Home", "Home") </div>
.parent-style-one { /* your styles here */ }
.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の子要素のみをターゲットにし、トランジション効果を適用できます。