2012-03-12 7 views
0

私はasp.net mvc 3.0でs#arp architecture 2.0を使用しています。マスターページでのかみそりのコードは次のようになります。もう、正しいリンクを生成しないアプリ(コントローラのユーザーのアクションログオフに)何らかの理由でマスターページリンクの生成が間違っています - s#arp architecture

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

ではなく、アクションログオフのための電流コントローラを指します。私は何も変えていない。私はこれを克服するためにどこを掘る必要がありますか?

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

CurrentControllerName /ログオフ長= 5

答えて

5

あなたはActionLinkのヘルパーのwrong overloadを呼んでいます。ここではあなたが何をすべきかです:

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

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

correct overloadです:ああ親愛なる

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

。いくつかのresaonのために、私はそれがwrksに使用されていたようにnullビットを削除しているに違いありません。ありがとう! – cs0815

関連する問題