Frage

Betrachten Sie die folgende Route:

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

Mit Url.Action("Service", "CustomerService") erzeugt eine URL von /service statt der erwarteten /service/

Gibt es eine Möglichkeit, dies zu erhalten zu arbeiten, oder muss ich mein eigenes Routing zurückgreifen müssen, um die Umsetzung von RouteBase ableiten?

War es hilfreich?

Lösung

Legenden - es gibt keine sofortige Lösung für das Problem. Sie können über Jason Young Blog-Post über das Thema, die sehr informativ ist. Scott Hanselmann veröffentlicht eine Antwort es hier, im Grunde besagt, dass er es nicht glauben eine große Sache war, und wenn es ist, können Sie das neue IIS7 Rewrite-Modul, es zu lösen nutzen.

Letztlich aber, möchten Sie vielleicht zu einer Lösung suchen, die auf eine ähnliche Frage auf Stackoverflow von Murad gepostet: nachgestellten Schrägstrich auf einer ASP.NET MVC-Route

Andere Tipps

In Ihrer Seite Load-Ereignis hinzu:

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top