[Buffalo]ASP.NET MVC路由映射

news/2025/4/21 9:00:13/

  Asp.Net的路由系统旨在通过注册URl模版与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但对于Asp.Net Mvc应用来说,请求的目标却是定义在某个Controller类型中的Action方法。

  为了实现针对目标Controller和Action的路由,Asp.Net Mvc在System.Web.Mvc.RouteCollectionExtensions中针对RouteConllection类型定义了一系列的扩展方法以实现文件路径无关的路由映射。其中的两组方法,Ignore用于注册不需要进行路由的URL模板;MapPageRoute方法用于进行基于URL模版的路由注册。

  对于Asp.net Mvc来说,URL路由系统对请求地址进行解析后生成的路由数据中必须包含目标Controller的名称。由于Controller名称仅仅对应着类型的名称,但是激活Controller实例的前提是我们能够正确的解析出它的具体类型,所以在具有多个同名Controller类型时,还需要用到命名空间。在调用MapPageRoute方法时可以通过字符串数组类型的参数namespace来指定一个命名空间的列表。对于注册的命名空间,可以指定一个代表完整命名空间的字符串,也可以使用“*”作为通配符表示对命名空间相应的部分不作任何约束。

  对于针对定义在某个Controller中的某个Action的请求,如果注册的路由表与之匹配,具体匹配的路由对象的GetRouteData方法被调用并返回一个具体的RouteData对象。对请求的地址进行解析得到的目标Controller和Action的名称必须包含在该RouteData的Values属性对应的RouteValueDictionary对象中,其对应得Key分别为“controller”和“action”;

转载于:https://www.cnblogs.com/teamate/p/3694773.html


http://www.ppmy.cn/news/724413.html

相关文章

Buffalo WZR-HP-G300NH刷机记

这台路由器上面原来装了openwrt,为了进行简单的限速测试,我在它的luci qos界面上直接限速,结果导致路由器奇慢,几乎无法ssh,访问luci。所以顺便带回家刷机了。 用tftp刷机,用电脑直连路由器,不接通电源,网线接最靠近wan口的那个lan口&#x…

在Buffalo Ls4XX上安装 debian 的方法

让前几年的Buffalo LS4XX在一次发光。 安装器的运行方式有三种: 在原生固件上运行手动将文件写入硬盘(在buffalo ls410上安装 debian buster 的完美方法 - Fire0594)可以按 这篇文章操作。TFTP启动运行。(请参照Restoring Stoc…

buffalo-验证规则

validate包 使用了validate进行验证后会调用validator验证器,无论validataAndCreate还是 validateAndUpdate 都会调用这两个方法后继续调用validate方法,如果使用了validateAndSave方法则会判断id是否存在,如果存在则调用validateAndUpdate,不存在则调用validateAndCreate vali…

[CERC2017]Buffalo Barricades

这个题目,扫描线玄学** 大概操作就是用个扫描线从上往下扫。 博主有点懒,就直接贴代码了,但是我还是给大家贴个比较详细的博客,除了代码都可以看wym的博客,我基本上就是按wym大佬的思路来的,当然&#xff0…

布法罗计算机专业怎么样,布法罗大学 University at Buffalo

布法罗大学(University at Buffalo)——即纽约州立大学水牛城分校成立于1846年,前身是一所小型私人医学院,经过百年的发展,逐渐壮大成一所公立的综合性研究大学,培养了来自全国和世界各地约16万本科毕业生,布法罗大学提…

[Buffalo] 一些SQL函数

取得当前时间的函数:GETDATE() 计算时间的函数:DATEADD(datepart,number,date) 计算两个时间差额:DATEDIFF(datepart,startdate,enddate) 计算一个日期是星期几:DATENAME(datepart,date),datepartWEEK 取得日期的指定部分&#xf…

buffalo-命令

生成fizz文件命令 buffalo db g fizz table_name field_name:field_type(default string) eg: soda g fizz devops_controller name code desc:text deleted_at:nulls.Time 生成model文件命令 buffalo db g m table_name field_name:field_type(default string) eg: soda g m d…

buffalo之hello world

一个国产的ajax框架&#xff0c;定义了Web远程调用的传输基础&#xff0c; 并且将远程调用对象完整的序列化到了本地&#xff0c;成为可以被JavaScript编程触及的对象。 配置依赖包: <dependency><groupId>net.buffalo</groupId><artifactId>buffalo…