Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET路由-添加编号作为约束

ASP.NET路由-添加编号作为约束
EN

Stack Overflow用户
提问于 2017-09-20 03:49:26
回答 2查看 225关注 0票数 0

我试图在路由中添加数字/int作为约束。

来源:路线

代码语言:javascript
运行
AI代码解释
复制
public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("Product",
        "{ProductName}/{ProductId}",
        "~/Product.aspx",
        false,
        new RouteValueDictionary 
            {{"ProductName", "[a-z]"},{"ProductId", @"^\d+$"}}
       );
}

这没问题:example.com/productX/1234

但是它正在打开Product.aspx,即使{ProductId}不是数字/int。

所以我不想去example.com/productY/xyz去Product.aspx的路。那条路怎么了?

第二个问题,{ProductName}可以包含字母、数字和破折号(-),如何将{ProductName}正则表达式更改为针对所有字母、数字和破折号(-)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-20 04:55:35

似乎您使用了错误的过载来设置约束。您正在尝试设置defaults而不是constraints。这应该是可行的:

代码语言:javascript
运行
AI代码解释
复制
routes.MapPageRoute("Product",
    "{ProductName}/{ProductId}",
    "~/Product.aspx",
    false,
    null,
    new RouteValueDictionary 
        {{"ProductName", "[a-z]"},{"ProductId", @"^\d+$"}}
);

请注意defaults参数的defaults

至于ProductName约束,您可以使用@"^[A-Za-z0-9\-]+$"。您的最终代码如下:

代码语言:javascript
运行
AI代码解释
复制
routes.MapPageRoute("Product",
    "{ProductName}/{ProductId}",
    "~/Product.aspx",
    false,
    null,
    new RouteValueDictionary 
        {{"ProductName", @"^[A-Za-z0-9\-]+$"},{"ProductId", @"^\d+$"}}
);
票数 1
EN

Stack Overflow用户

发布于 2017-09-20 04:22:51

关于你的第一个问题请看:https://stackoverflow.com/a/273144

第二:尝试@"^[a-zA-Z0-9-]+$"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46321258

复制
相关文章
ASP.NET Core的路由[5]:内联路由约束的检验
当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束。路由系统采用IRouteConstraint接口来表示路由约束,所以我们在接下来的内容中将路由约束统称为RouteConstraint。 在大部分情况下,约束都是针对路由模板中定义的某个路由参数,其目的在于验证URL携带的某部分的内容是否有效。不过也有一些约束与路由参数无关,这些约束规范往往是除URL之前的其他请求元素,比如前面提到的H
蒋金楠
2018/02/08
1.3K0
ASP.NET Core的路由[5]:内联路由约束的检验
oracle添加not null约束
大家好,又见面了,我是你们的朋友全栈君。在创建表时,为列添加not null约束,形式如下: column_name data_type [constraint constraint_name] not null 其中,constraint constraint_name 表示为约束指定名称。 也可以为已创建的表中添加not null约束,这时就需要使用alter table… modify语句,形式如下: alter table table_name modify column_name [constraint constraint_name] not null;
全栈程序员站长
2022/09/06
8200
ASP.NET 路由
ASP.NET 路由使您可以使用不必映射到网站中特定文件的 URL。由于 URL 不必映射到文件,所以可以在 Web 应用程序中使用 URL,这些 URL 是描述性的用户操作,因此更易于被用户理解。 在一个不使用路由的 ASP.NET 应用程序中,对 URL 的传入请求通常映射到磁盘上的物理文件,如 .aspx 文件。在 ASP.NET 路由中,您可以定义 URL 模式,该模式包含在处理 URL 请求时使用的值的占位符。在运行时,应用程序名称后面的 URL 部分根据您所定义的 URL 模式分析为离散值。 A
张善友
2018/01/19
2.3K0
ASP.NET 路由
mac添加路由
mac添加路由 mac添加路由 查看路由 添加缺省路由 添加路由 删除路由 ---- 查看路由 netstat -r 添加缺省路由 route -n add defalut 10.13.31.1 添加路由 route -n add -net 10.0.0.0/8 10.13.31.1 删除路由 route -n delete defalut 10.13.31.1
明哥的运维笔记
2019/01/30
3.1K0
【约束布局】使用 Design 模式编辑 ConstraintLayout 约束布局 ( 添加 Guideline 引导线 | 添加 FragmentContainerView )
向约束布局 ConstraintLayout 中添加两个 Fragment , 垂直方向各占 50 % , 一个在屏幕上半部分 , 一个占据屏幕下半部分 ;
韩曙亮
2023/03/30
1.2K0
【约束布局】使用 Design 模式编辑 ConstraintLayout 约束布局 ( 添加 Guideline 引导线 | 添加 FragmentContainerView )
Linux中添加路由_linux添加临时路由命令
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
全栈程序员站长
2022/11/09
8K0
Linux如何添加路由_linux添加永久路由命令
大家好,又见面了,我是你们的朋友全栈君。 Linux如何添加路由 a.如何使用命令给Linux添加一个默认网关? 缺省网关路由: 默认网关就是数据包不匹配任何的路由规则,最后流经的地址关口!网关按字面意思就是网络的关口 ,就相当于我们办公室的大门一样,大家上班就要经过办公室的门一样。 使用route -n 查看网关信息,或者 netstat -rn查看路由 [root@machine1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 如何删除路由表: [root@machine1 ~]# route del default gw 192.168.0.1 [root@machine1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 配置方法: 1、setup 2、配置网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0 关键字:GATEWAY=192.168.0. 重启网卡配置生效 3、route add default gw 192.168.0.1 #(临时生效) [root@machine1 ~]# route add default gw 192.168.0.1 [root@machine1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 如何添加网络路由? b.网络路由:即去往某个网段的路由 一般多个网段之间相互通信,希望建立一条优先的路由,而不是通过默认的网关。拿家里来说, 你要去卫生间有卫生间的门,去卧室有卧室的门。这两个门就是网络路由了。家里的大门呢,就是 默认路由。
全栈程序员站长
2022/11/10
9.5K0
如何给每个RM添加约束?
在DFX设计中,我们也会碰到类似的情形,即给同一个RP(Reconfigurable Partition)下的不同RM(Reconfigurable Module)添加不同的约束。这时要考虑几个因素:同一个RP下不管有几个RM,在设计中均对应同一个实例化的名字。这意味着不能仅仅通过SCOPE_TO_CELLS将这些约束对应到不同的RM上。另外,每个RM只有在自身对应的configuration上才有效,所以要保证在这个configuration上对应的RM的约束也要有效。从下图可以看到,当前这个DFX设计中有一个RP,名字为图中红色方框所示,该RP下有两个RM,分别为rp1rm1和rp1rm2。
Lauren的FPGA
2023/08/18
2610
如何给每个RM添加约束?
SQLServer里面添加约束条件[通俗易懂]
1、主键约束: 格式: alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)
全栈程序员站长
2022/11/08
2.2K0
ASP.NET MVC路由扩展:路由映射
上周我写了三篇文章(一、二、三)详细地介绍了ASP.NET的路由系统。ASP.NET的路由系统旨在通过注册URL模板与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但是对于ASP.NET MVC应用来说,请求的目标不再是一个具体的物理文件,而是定义在某个Controller类型中的Action方法。出于自身路由特点的需要,ASP.NET对ASP.NET的路由系统进行了相应的扩展。 目录 一、基本路由映射 二、实例演示:注册路由映射与查看路由信息 三、基于A
蒋金楠
2018/01/15
1.4K0
ASP.NET MVC路由扩展:路由映射
ASP.NET的路由系统:路由映射
总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapPageRoute进行路由映射,即注册URL模板与某个物理文件的匹配关系。路由注册的核心就是在全局路由表中添加一个Route对象,该对象的绝大部分属性都可以通过MapPageRoute方法的相关参数来指定。接下来我们通过实现演示的方式来说明路由注册的一些细节问题。 目录 一、变量默认值
蒋金楠
2018/01/15
2.4K0
ASP.NET的路由系统:路由映射
linux系统添加路由命令_linuxeth1添加路由
一:使用 route 命令添加 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法: //添加到主机的路由
全栈程序员站长
2022/11/09
3K0
windows添加静态路由
最近在排除一个联通应用程序不稳定的问题,查看日志初步分析是网络互联导致,所以要求联通提供了无线网卡来进行初步测试。但是我仅仅想让那一个联通的应用程序走无线网络出,其他的连接依旧走有线网络。所以,就有了
行 者
2018/03/26
3.3K0
windows添加静态路由
windows下添加路由
1. 首先在“运行”窗口输入cmd(按WIN+R打开运行窗口),然后回车进入命令行。
拓荒者
2019/08/27
4.6K0
windows下添加路由
强大的分组:给每个类别分别添加索引编号
在前面讲《怎么在每个科目(分类)内容的后面加3个空行?还涉及分组依据的核心原理……》的时候,提到“分组依据”功能的核心原理,在此重复一下:分组的过程就是对同一类内容先分好,或者说挑出了每一组所包含的所有内容,然后再针对各类内容分别进行后续的聚合(计算)。
大海Power
2021/08/30
9270
ASP.NET MVC 路由详解
事隔多年,其实也就一年啦,重新整理下ASP.NET MVC的相关知识。继续前面的内容,来说说路由。
李郑
2019/12/04
1.6K0
CentOS添加路由表
记一次centos下添加路由表的操作 1.使用route命令添加 #注:使用route命令添加的路由在重启系统或重启网络后即失效 #1.添加到主机的路由 route add –host 192.168.10.110 dev eth0 route add –host 192.168.10.119 gw 192.168.10.1 #2.添加到网络的路由 route add –net IP netmask MASK eth0 route add –net IP netmask MASK gw IP route a
染指流年
2023/03/13
3.8K0
Linux 查看 添加 修改路由
最近搭建vpn, 使用 ssh 隧道一直在涉及路由相关问题,今天简单整理一下,方便下次使用:
西湖醋鱼
2020/12/30
6.2K0
adams下载安装:adams怎么添加约束
1. 通过 Adams/Mechatronics 插件,您可以为 Adams 模型添加复杂的控制系统表征,将控制系统与机械模型耦合在一起。
用户10515912
2023/04/27
5240
adams下载安装:adams怎么添加约束
ASP.NET MVC编程——路由
框架自动生成的路由配置 上图中,路由配置文件为App_Start文件夹下的RouteConfig.cs。 代码如下: public class RouteConfig { public
甜橙很酸
2018/03/30
1.8K0

相似问题

Asp.net路由-路由约束和空路由

61

路由约束asp.net mvc

21

向路由添加约束问题

12

向rails路由动态添加约束

10

ASP.NET路由-添加路由

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档