2010-04-29 4 views
1

Cela devrait être un simple problème de configuration.html.actionlink avec .net 4.0 restitue les liens vides

Quand mes cibles d'application .Net 3.5

Ce code

<%= Html.ActionLink("Forgot your password?","ForgotPassword") %> 

rend ceci:

<a href="/Account/ForgotPassword">Forgot your password?</a> 

Quand mes cibles d'application .Net 4.0

Le même code rend:

<a href="">Forgot your password?</a> 

Il supprime la partie URL.

La compatibilité descendante est censée être activée dans mon fichier web.config.

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 

Idées?

Répondre

1

Cela avait à voir avec l'itinéraire de carte par défaut ayant une valeur supplémentaire. On dirait que .Net 4.0 est moins indulgent sur le mauvais chemin de mappage.

0

La solution pour les problèmes suivants est très faible. S'il vous plaît vérifier votre fichier Global.asax.cs et modifiez la ligne

new { controller = "Home", action = "Index", id = "" } // Parameter defaults 

à

new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 

Remarque: dans MVC2.0 champs optionnels sont marqués par "UrlParameter.Optional".

Je pense que cela pourrait résoudre vos problèmes. Si non, veuillez mettre à jour.

Merci,

Kamal Kant Pansari