Question

Considérez l'itinéraire suivant:

    routes.MapRoute(
        "Service", // Route name
        "service/", // URL with parameters
        new {controller = "CustomerService", action = "Index"} // Parameter defaults
        );

L'utilisation de Url.Action ("Service", "CustomerService") génère une URL de / service au lieu du / service /

Existe-t-il un moyen de résoudre ce problème ou dois-je recourir à la mise en œuvre de mon propre routage dérivé de RouteBase ?

Était-ce utile?

La solution

Légende - il n’ya pas de solution immédiate au problème. Vous avez peut-être rencontré le blog de Jason Young à propos de la question, qui est très informatif. Scott Hanselmann a posté une réponse à cette question , affirmant en substance qu'il ne le pensait pas. C’était un gros problème, et si c’est le cas, vous pouvez utiliser le nouveau module de réécriture IIS7 pour le résoudre.

En fin de compte, vous voudrez peut-être examiner une solution publiée par murad sur une question similaire sur StackOverflow: Trait de barre oblique sur une route ASP.NET MVC

Autres conseils

Dans votre événement de chargement de page, ajoutez:

Dim rawUrl As String = HttpContext.Current.ApplicationInstance.Request.RawUrl
If Not rawUrl.EndsWith("/") Then
    HttpContext.Current.ApplicationInstance.Response.RedirectPermanent(String.Format("~{0}/", rawUrl))
End If
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top