Asp.net mvc 2 ASP.NET MVC 2通配符路由无法处理空格
我有一个通配符路由映射如下:Asp.net mvc 2 ASP.NET MVC 2通配符路由无法处理空格,asp.net-mvc-2,url-routing,Asp.net Mvc 2,Url Routing,我有一个通配符路由映射如下: routes.MapRoute( null, "{controller}/{action}/{*category}", new { controller = "Mall", action = "Index", category = UrlParameter.Optional } ); 直到类别在斜杠“/”之前或之后有任何空格为止,这一直都很正常 对于类别艺术/音
routes.MapRoute(
null,
"{controller}/{action}/{*category}",
new { controller = "Mall", action = "Index", category = UrlParameter.Optional }
);
直到类别在斜杠“/”之前或之后有任何空格为止,这一直都很正常
对于类别艺术/音乐,它会发现页面很好
对于艺术/音乐类,它将给我一个404未找到
任何帮助都将不胜感激 我刚刚回答了类似的问题。完整性: 如果在下一个斜杠之前的URL的任何部分的末尾有一个空格,它会在由MVC处理的
System.Web.Util.FileUtil.checkSuspestiousPhysicalPath()
方法中抛出一个HttpException
,您将得到HTTP 404响应
您可以通过选中Throw
的复选框来验证自己:
Visual Studio
Debug
例外情况
公共语言运行时异常
通常,URL中不应该有空格。我个人格式化了我的URL,所有的空格都变成了破折号(-)。有点让人扫兴,因为我不想回去重做整个项目,因为这些都是用户输入的创建URL的项目。我想这是有道理的,以后我会记住的。谢谢你,马丁!ps-抱歉接受的太慢。