質問

S#ARP Architecture 2.0をASP.NET MVC 3.0で使用しています。マスターページのかみそりコードは次のようになります:

 @Html.ActionLink("Logout", "LogOff", "Users", new { style = "color:Blue;" })
.

何らかの理由でアプリはもう正しいリンクを作成しない(コントローラユーザのアクションログオフに)、むしろアクションログオフのための現在のコントローラを指します。私は何も変わっていません。これを克服するにはどこで掘り下げる必要がありますか?

生成されたリンクは次のようになります。

CurrentControlName / logoff?length= 5

役に立ちましたか?

解決

actionLinkヘルパーの間違ったオーバーロードを呼び出しています。これがあなたがしていることです:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)
.

これは正しいURLを生成していない理由はかなり明白です。匿名のオブジェクトを表す必要がある"Users"が想定される場所にある文字列値であるrouteValuesを渡しています。

正しいオーバーロードは:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // controllerName
    null,                             // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top