[ASP.NET MVC] URL网址路由包含“/”斜线

时间:2019-09-13
本文章向大家介绍[ASP.NET MVC] URL网址路由包含“/”斜线,主要包括[ASP.NET MVC] URL网址路由包含“/”斜线使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

ASP.NET MVC 网址包含“/”斜线


笔者碰到一个状况是,URL带入的参数是可能有“/”斜线的(使用者输入)像是以下

1.运行正常

http://localhost:45405/Home/Product?name=HTC/M8/手机套

2.运行正常

http://localhost:45405/Home/Product?name=‘抗涨’白人牙膏_特大号

到目前为止都还没问题,但我们为了让URL好看以及优化SEO,我们会做URL Rewriting像是以下

   1: //商品
   2:            routes.MapRoute(
   3:               name: "Product",
   4:               url: "商品/{name}",
   5:               defaults: new { controller = "Home", action = "Product", name = UrlParameter.Optional });


1.错误

http://localhost:45405/商品/HTC/M8/手机套

2.运行正常

http://localhost:45405/商品/‘抗涨’白人牙膏_特大号

这时候我们在路由name前方加个*就可以了。

   1: //商品
   2:             routes.MapRoute(
   3:                name: "Product",
   4:                url: "商品/{*name}",
   5:                defaults: new { controller = "Home", action = "Product", name = UrlParameter.Optional });



如有错误还请各位先进前辈们不吝啬的指教,谢谢。

 

原文:大专栏  [ASP.NET MVC] URL网址路由包含“/”斜线


原文地址:https://www.cnblogs.com/chinatrump/p/11516519.html