J'essaie d'utiliser URLHelp.RouteUrl avec une chaîne dynamique en javascript. Je veux de cette façon -ASP.NET MVC RouteUrl avec action dynamique
function MyFun(action, param){
var strPass = "MyController/" + action + "?param1=" + param;
Windows.Location.href = "<%=Url.RouteUrl(" + strPass + ")%>";
}
Il ne fonctionne pas. Ai-je manqué quelque chose? Avons-nous une alternative dans ASP.NET MVC pour travailler de la même manière?
Merci,
Informations complémentaires -
J'essaie la manière ci-dessus parce que j'ai un problème de ma demande - la page principale a "http://myserver/myapplicaiton/mycontroller/myaction"
revenir lorsque j'utilise "Windows.Location.href ="MyController/MyAction"
. Mais la page suivante ayant contrôleur double est apparu "http://myserver/myapplication/mycontroller/mycontroller/myaction"
.
Qu'est-ce qui cause ce problème de routage?
C'est ce que j'utilise. Mais cette façon ne peut pas résoudre correctement ma racine de site Web. Je veux un moyen similaire à URL.Content ("~ /") pour obtenir un chemin correct. – Don
essayez d'utiliser "~/MyController /" + action + "? Param1 =" + param – Cris
@Don, j'admire votre envie de suivre les meilleures pratiques, mais vous ne pouvez pas utiliser dynamiquement Url.Content. Toute syntaxe Razor est pré-rendue avant le lancement de JS. Mais, même si ce n'est pas la meilleure pratique, ne craignez pas d'utiliser un chemin de corde simple. Un comportement dynamique comme celui-ci nécessite un peu de flexion. –