Question

J'utilise l'architecture s#arp 2.0 avec asp.net mvc 3.0.Le code rasoir dans une page maître ressemble à ceci :

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

Pour une raison quelconque, l'application ne produit plus le lien correct (vers la déconnexion de l'action des utilisateurs du contrôleur), mais pointe plutôt vers le contrôleur actuel pour la déconnexion de l'action.Je n'ai rien changé.où dois-je creuser pour surmonter cela s'il vous plaît ?

Le lien généré ressemble à ceci :

NomContrôleurActuel/Déconnexion?Longueur=5

Était-ce utile?

La solution

Vous appelez un mauvaise surcharge de l'assistant ActionLink.Voici ce que vous faites :

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

Il est assez évident pourquoi cela ne produit pas l'URL correcte.Tu passes "Users" qui est une valeur de chaîne à l'endroit où l'assistant attend routeValues qui doit représenter un objet anonyme.

Le surcharge correcte est:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // controllerName
    null,                             // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top