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

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报错的问题:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值