Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9749

Html.ActionLinkを使うとhrefに「?Length=4」がついてしまう

$
0
0

起こったこと

Viewで@Html.ActionLinkを使ってaタグを作成すると、hrefに「?Length=4」がついてしまう。

CSHTML
@Html.ActionLink("About","About","Home",new{@class="btn btn-primary"})

原因

コントローラーを直で書いているのが原因みたい。

string routeValuesのオブジェクト「Home」を取得します。MVCはこれをパブリックプロパティを検索してルート値に変換します。stringオブジェクトの場合、唯一のパブリックプロパティはLengthであり、Lengthパラメータでルートが定義されないため、プロパティ名と値がクエリ文字列パラメータとして追加されます。

対処

string controllerNameにべた書きせずにstring routeValuesに設定する。

CSHTML
@Html.ActionLink("About","About",new{controller="Home"},new{@class="btn btn-primary"})

Viewing all articles
Browse latest Browse all 9749

Trending Articles