[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

时间: 2024-10-12 22:56:34

[ASP.NET MVC] URL网址路由包含“/”斜线的相关文章

第2章 ASP.NET MVC(URL、路由及区域)

ASPNET MVC ASP.NET MVC简介 一.      简介 二.      MVC概念 三.      Asp.NET MVC 原理 四.      与ASP.NETWeb From比较 五.      安装必要软件 六.      第一个MVC应用程序 控制器向视图传递数据的方法 1.         ViewData[Key]=value 只能在当前视图中使用 2.         ViewBag.名称=value  只能在当前视图使用 3.         TempData[k

MVC - Routing - 网址路由

1. Routing  : 路由 主要是比对通过浏览器传来的http要求与响应适当的网址给浏览器. ? 1 @Html.ActionLink("关于","About","Home") 这段代码生成的HTML超连接: ? 1 <a href="/Home/About">关于</a> 2. 默认情况下 网址路由规则定义在 App_Start\RouteConfig.cs文档中. ? 1 2 3 4 5 6

[翻译:ASP.NET MVC 教程]创建路由约束

赶集要发:http://www.ganji18.com 你使用路由约束来使浏览器请求限制在匹配特定路由的中.你可以使用一个正则表达式来具体化一个路由约束. 例如,设想你已在Global.asax文件中定义了清单1中的路由. 清单1--Global.asax.cs routes.MapRoute( "Product", "Product/{productId}", new {controller="Product", action="De

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL 引言--- 在现今搜索引擎制霸天下的时代,我们不得不做一些东西来讨好爬虫,进而提示网站的排名来博得一个看得过去的流量. URL重写与优化就是搜索引擎优化的手段之一. 假如某手机网站(基于ASP.NET MVC)分类页面URL是这样的, http://www.xxx.com/category/showcategory?categoryid=1000&view=list&orderby=price&p

为ASP.NET MVC应用添加自定义路由

这里,我们将学习如何给asp.net mvc应用添加自定义路由.用自定义路由来修改默认路由表. 对一些简单的asp.net mvc应用,默认的路由表就已经足够了.但是,当你需要创建特殊的路由时,就需要创建自定义路由了. 假设正在进行一个blog项目的开发,希望处理用户的请求地址如下: /Archive/12-25-2009 当用户输入这个URL时,你想返回日期12-25-2009的blog入口,为了实现这个路由,需要添加自定义路由. 在这个asp.net mvc应用中,这个方法中含有一个自定义路

【翻译】ASP.NET MVC 5属性路由

原文链接:http://blogs.msdn.com/b/webdev/archive/2013/10/17/attribute-routing-in-asp-net-mvc-5.aspx#why-attribute-routing 最近在学习MVC相关的东西,今天刚好到msdn上看到了这样的一片文章,感觉不错,于是决定将它翻译出来和博友们一起分享下.我第一次发表文章,有不对的地方非常欢迎指出. —— 写在前面 废话不多说了,咱们开始吧 路由是ASP.NET MVC 怎样去用一个URI去匹配一个

ASP.NET MVC学习之路由篇(1)

原文:ASP.NET MVC学习之路由篇(1) 一.前言 作为一个从ASP.NET转入到ASP.NET MVC的开发人员而言,可能在开发ASP.NET网站的时候就已经开始在使用路由了. 只不过在ASP.NET MVC中路由是关键部分,而在ASP.NET中需要自行加进去.下面我们将学习ASP.NET MVC中的路由 系统. 二.准备工作 1.新建一个ASP.NET MVC4项目 2.模板选择空 3.在Controllers中添加一个Home控制器 4.打开App_Start中的RouteConfi

ASP.NET MVC 学习之路由(URL Routing)

在ASP.NET MVC中,一个URL请求是由对应的一个Controller中的Action来处理的,由URL Routing来告诉MVC如何定位到正确的Controller和Action. 默认路由表 当我们在VS中创建一个新的 ASP.NET MVC程序,程序将会自动使用默认的路由表. public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInf

MVC笔记 网址路由与MVC的生命周期

一.网址路由 1.1  比对通过浏览器传来的HTTP请求 客户端对ASP.NET网站发出请求时,能通过R偶汤尼盖找到适当的HttpHandler来处理网页,大致的流程如图: 如果HttpHandler是由MvcHandler来处理,那么,此时就会进入MVC的执行生命周期,并且会找到适当的Controller与Action来对其进行处理,并将信息反馈给客户端. 1.2 将适当的网址返回浏览器 网址路由的另一个用途是决定MVC 应该输出什么样的网址并将其返回浏览器,跳转地址或在View中显示超链接时