【.NET框架】—— ASP.NET MVC5路由基础(五)

 2023-09-06 阅读 15 评论 0

摘要:1.1.ASP.NET MVC5路由概念及设置 路由是实现资源交互访问的接口,路由匹配传入请求,并把这些请求映射到控制器操作,构造传出的URL,用来响应控制器操作。 路由的分类: 传统路由特性路由 传统路由: 传统路由的设置方式,本来就有

1.1.ASP.NET MVC5路由概念及设置

路由是实现资源交互访问的接口,路由匹配传入请求,并把这些请求映射到控制器操作,构造传出的URL,用来响应控制器操作。

路由的分类:

  • 传统路由
  • 特性路由

传统路由:

传统路由的设置方式,本来就有,在app_Start/RouteConfig.cs中集中设置;

namespace WebApplication1
{public class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}}
}

特性路由:

在控制器类或操作方法中使用声明式的特性的选项,称为特性路由。

需要在app_Start/RouteConfig.cs中做设置,修改RegisterRoutes方法:

①设置routes.MapMvcAttributeRoutes();

 

 

②对应路由控制器上添加[Route("Home/About")],对应路由Controller名称,路由方法名称;

 

1.2.ASP.NET MVC5特性路由—传值

特性路由传参需要在Controller控制器的方法上注解上加上{参数名}

 

注意:在访问的时候需要在url上面多加一个name实际传入的参数,如Home/About/jackson,才能访问到对应的路由。

多个参数传递:/{name}/{name2}…

1.3.ASP.NET MVC5特性路由—控制器路由

可以直接在控制器上加上”Home/{action}”即可访问到对应的每个控制器方法;

 

1.4.ASP.NET MVC5特性路由—路由约束

 

该约束限制id只能是int类型的变量,如果传入其它类型的string则访问不到对应的路由,会直接报错。

1.5.ASP.NET MVC5特性路由—路由默认值

 

这样配置就告诉MVC框架当前控制器就是初始化控制器,Index()方法就是初始化路由的视图。

这里需要设置一些界面默认的参数模式,详情请参见博客:

https://www.cnblogs.com/fumj/p/4887689.html

https://www.cnblogs.com/wningning/archive/2013/03/26/2982079.html

否则会出现 IIS 403报错的问题:

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/4762.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息