web-dev-qa-db-ja.com

ASP.NET MVCのHtml.ActionLinkにCSSクラスを適用するにはどうすればよいですか?

VB.NETを使用してASP.NET MVCアプリケーションを構築し、コードを使用してHtml.ActionLinkにcssクラスを適用しようとしています。

<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>

しかし、コードを実行すると、次のエラーが表示されます。

コンパイラエラーメッセージ:BC30988:タイプまたは 'With'が必要です。

私はMVCが初めてであり、実際に私が何をしているのか手掛かりがあまりないので、他の場所の例に基づいたコードを使用しているので、そこで何が間違っているのかわかりません。

101
LiamGu

それは:

<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>

VB.netを使用して匿名タイプを設定する場合

new with {.class = "tab" }

そして、他の指摘として、3番目のパラメーターはオブジェクトである必要があります(匿名型も可能です)。

48
Eduardo Molteni

@ewomackは、追加のオブジェクト値を必要としない限り、C#に最適な答えを提供します。私の場合、次のようなものを使用することになりました。

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
147
adamgede

C#では、4番目のパラメーターとしてnullも使用できます。

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
51
coding_is_fun

Razorを使用したMVC 3では、この構文が機能しました。

@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
32
ewomack

これはMVC 5で機能します

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
16
César León

VB.NETで

<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>

これにより、CSSクラス「リンク」がContact Usに割り当てられます。

これにより、次のHTMLが生成されます。

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
3
H Sampat

c#を削除しました...ここはvb.netです

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>
0
rajesh pillai