web-dev-qa-db-ja.com

クラスを@ Html.ActionLinkに追加するにはどうすればよいですか?

私は2つを持っています @Html.ActionLink'sボタンのように見せたい。 CSSでこれを実現できますが、CSSを適用するためにアクションリンクの#IDを使用する場合のみです。アクションリンクにクラスを割り当てたいのですが、以下のコードを使用すると、「}」が欠落しているというエラーが表示されます。

 @Html.ActionLink("Print PO", "PoReport", new { id = 51970}, 
                 new { id = "PoPrint"} , new { class = "PoClass"})

私が適用しているスタイルは次のとおりです。

<style>
 #PoPrint 
{
 border: 4px outset;
 padding: 2px;
 text-decoration: none;
 background-color:lightskyblue;
}
</style>

これは機能し、スタイルに他の#IDを追加するだけで、スタイルをクラスに適用したいと思います。

22
Alan Fisher

クラスはC#のキーワードであるため、@文字を使用する必要があります。 MSDNドキュメントへのリンクは次のとおりです。 http://msdn.Microsoft.com/en-us/library/dd492124(v = vs.108).aspx

@Html.ActionLink("Link Text", "ActionName", 
         new { controller = "MyController", id = 1 }, 
         new { @class = "my-class" })
67
Jarrett Meyer

問題は、クラスがC#の予約語であることです。次のように@記号でエスケープすることにより、属性名として「クラス」という名前を使用するように指定できます。

 @Html.ActionLink("Print PO", "PoReport", new { id = 51970}, new { id = "PoPrint", @class = "PoClass"})
6
chris.house.00

これを行う new { @class = "PoClass"}クラスのようなキーワードには@が必要です

0
TGH

アクション名、コントローラー、およびurlパラメーターを指定する必要があります(この例ではnull)

@Html.ActionLink("Link Name", 
"ActionName",
"ControllerName",
null,
new { @class = "your css class" }
)
0
Badr Bellaj