8

考虑以下路线:

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

使用Url.Action("Service", "CustomerService")会产生一个 url/service而不是预期的/service/

有什么方法可以让它工作,还是我必须求助于实现我自己的路由RouteBase

4

2 回答 2

4

Legenden - 没有立即解决问题的方法。您可能已经看过Jason Young 关于这个问题的博客文章,它提供了非常丰富的信息。 Scott Hanselmann 在这里发了一个回复,基本上说他觉得没什么大不了的,如果是的话,你可以利用新的 IIS7 重写模块来解决它。

最终,您可能希望查看 murad 在 StackOverflow 上发布的类似问题的解决方案: Trailing slash on an ASP.NET MVC route

于 2009-06-24T02:59:56.470 回答
-5

在您的页面加载事件中添加:

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
于 2012-05-22T10:41:42.890 回答