【Web.路由】——路由约束

我们需要明确的一点就是,一个URL地址就是一个路由值。

而路由约束,就是制定出的一套规则,只有路由值与路由约束中的规则匹配,才可以进行下一步操作。

路由约束不仅可用于路由请求,还可以用于链接的生成。

参数值约束 

假设存在一个URL地址的配置

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}",
    constraints: new { id = "[0-9]" }
    );

这个路由约束,指的就是,当id=0-9时,这个url可以匹配,当不等于时,是不会匹配到终结点的。

因此当id不为0-9时,网页会返回找不到网页。

参数类型约束

 可以约束参数的类型为特定的类型,当输出不对是,返回找不到网页404.

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id:int}"
    );

查询相关资料,可以看如下类型约束表格

 函数约束

即这个参数会先进入这个函数中进行判断,不满足返回404

具体的使用就是

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id:max(200)}"
    );

混合约束

顾名思义,就是以上的约束一起使用。使用时,是这么使用的

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id:int:min(30):max(190)}"
    );

只要组合在一起能限制符合需求的参数值,都可以使用冒号连接在一起。

当然以上是对于参数类型单一或者较为少的情况,如果需要对参数进行验证的话,建议使用框架。

同时欢迎关注gzh——>上位机PLC自动化技术研究,里面会陆陆续续分享一些内容,欢迎大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matrix Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值