如何在MVC5中删除路径中的空格?

时间:2015-01-28 11:56:00

标签: asp.net-mvc routes

我有一个MVC5应用程序,在RouteConfig.cs内,我已经定义了一条路由如下:

routes.MapRoute(
    name: "Service",
    url: "Home/Service/{sid}",
    defaults: new { controller = "Home", action = "ServiceRequestBySubcategory", sid = UrlParameter.Optional }
);

在我的情况下,sid实际上是子类别的名称。一些子类别具有单个单词名称,这些名称很好,但有些子名称由两个或三个单词组成,其中单词之间有空格。问题是,有时,当我按某些子类别名称时,我会收到一条错误消息,指出找不到该页面,但如果我刷新页面则会出现。这样做很烦人。我想这是因为单词之间的空白。那么,有没有办法让我删除子类别名称之间的空格(当然,如果实际上有空格)?

1 个答案:

答案 0 :(得分:0)

我建议你URLEncode可以用作{sid}

的值

那样“foo bar”变成“foo%20bar”然后你就不应该遇到在URL上有空格(或任何其他时髦角色)的问题