起こったこと
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"})