Почему ASP.NET MVC игнорирует мой косой черты? - PullRequest
8 голосов
/ 22 июня 2009

Рассмотрим следующий маршрут:

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

Использование Url.Action("Service", "CustomerService") дает URL-адрес /service вместо ожидаемого /service/

Есть ли способ заставить это работать, или я должен прибегнуть к реализации своей собственной маршрутизации, основанной на RouteBase?

Ответы [ 2 ]

4 голосов
/ 24 июня 2009

Легенден - не существует немедленного решения проблемы. Возможно, вы наткнулись на сообщение в блоге Джейсона Янга о проблеме, которое очень информативно. Скотт Хансельманн опубликовал здесь ответ, в основном заявив, что он не думал, что это было большое дело, и если это так, вы можете использовать новый модуль перезаписи IIS7 для его решения.

В конечном счете, вы, возможно, захотите взглянуть на решение, опубликованное murad по аналогичному вопросу в StackOverflow: Конечная косая черта на маршруте ASP.NET MVC

0 голосов
/ 22 мая 2012

В событие загрузки вашей страницы добавьте:

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
...