J'ai beaucoup de mal à utiliser l'infrastructure de routage de asp.net mvc2. J'ai routes suivantes enregistrées dans mon global.asax fichierCan .net mvc routing provoque des erreurs JavaScript?
routes.MapRoute(
"strict",
"{controller}.mvc/{docid}/{action}/{id}",
new { action = "Index", id = "", docid = "" },
new { docid = @"\d+"}
);
routes.MapRoute(
"default",
"{controller}.mvc/{action}/{id}",
new { action = "Index", id = "" },
new { docConstraint = new DocumentConstraint() }
);
Le problème est avec le premier itinéraire ("strict"). Trois types d'URL peuvent correspondre au premier itinéraire. mycontroller/23/myaction, mycontroller/23/myaction/12 ou mycontroller/23/mvaction/stringid. Si je tente d'utiliser cette voie sans spécifier la valeur de tout id fonctionne très bien par exemple:
Html.ActionLink("Link text", "ActionName", new{docid = 23});
Tout se passe bien, mais si j'utilise des liens comme:
Html.ActionLink("Link text", "ActionName", new{docid = 23, id = 223})
Cela produira currentcontroller.mvc url/23/ActionName/223 est absolument correct, mais quand il charge la page, il donne une erreur JavaScript dans le fichier jquery1.4.2.min.js.
Cela est étrange: si je change id pour someid = 223 il reflétera dans la chaîne de requête et il n'y aura pas d'erreur JS. Edit: J'ai fait un peu plus de débogage et trouvé quand id et docid sont mentionnés dans les valeurs de route une chose est ignorée dans global.asax qui est le chemin d'ignorer.
routes.RouteExistingFiles = false;
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.ignoreRoute est totalement contournée et je peux voir les noms des fichiers JS dans le dictionnaire de la valeur de la route pendant le débogage dans mon contrôleur.
Le problème n'est peut-être pas associé à javascript. comme je l'ai mentionné dans ma question comme j'utilise le paramètre id avec le paramètre docid l'erreur s'est produite. si je change d'id à someid (ou à tout) tout fonctionne bien. Je pense (je peux me tromper) que le problème est survenu quand "{controller} .mvc/{docid}/{action}/{id}" correspond à –
j'ai fait du débogage et j'ai mis à jour la question plz c si tu peux m'aider ici Cordialement –