ASP.NET MVC 2 中带有约束的可选路由参数?

2023-11-24

如果我有这样的路线:

routes.Add(new Route("{controller}/{page}", 
    new RouteValueDictionary
    {
        { "page", UrlParameter.Optional }
    },
    new RouteValueDictionary
    {
        { "page", @"[Pp]age\d+" }
    }, 
    new MvcRouteHandler()
));

然后,当缺少 {page} 时,路线不匹配,但是如果我删除它匹配的约束。这是一个错误还是一个功能?


我在用着^$|在正则表达式中,例如:(^$|[Pp]age\d+)。我在寻找这个问题的答案时发现了这个问题,并认为我应该添加我在这里找到的内容。

routes.MapRoute(
  name: "News Archive",
  url: "News/{page}",
  defaults: new { controller = "news", action = "List", page= UrlParameter.Optional },
  constraints: new { page= @"^$|[0-9][0-9]" });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 2 中带有约束的可选路由参数? 的相关文章

  • 运行 t4 脚本作为 resx 文件的自定义工具

    我有一个资源文件MyResource resx 我想改变MyResource Designer cs文件生成 我有一个 t4 脚本 它接受 resx 文件作为输入并给出结果转换 但是 我必须手动运行此 t4 才能使其工作 我看到 resx
  • 对静态成员变量的未定义引用

    我有一个有静态成员的类 它也是我的程序中其他几个类的基类 这是它的头文件 ifndef YARL OBJECT HPP define YARL OBJECT HPP namespace yarlObject class YarlObject
  • 如何动态加载包含非托管代码的原始程序集?(绕过“无法验证的代码失败策略检查”异常)

    我将举一个使用的例子系统 Data SQLite DLL http sqlite phxsoftware com 这是一个包含非托管代码的混合程序集 如果我执行这个 var assembly Assembly LoadFrom System
  • 如何使用 ILoggerFactory 记录 Polly 的重试

    或者 如何从静态方法记录 From https github com App vNext Polly https github com App vNext Polly你有这样的例子 其中记录器神奇地可用 Policy Timeout 30
  • 如何在线程创建和退出时调用函数?

    include
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi
  • 宏可以按参数数量重载吗?

    如何this https stackoverflow com q 9183993 153285工作 如何实现 C99 C 11 可变参数宏以仅根据为其提供多少个参数来扩展到不同的事物 编辑 请参阅末尾以获得现成的解决方案 要获得重载的宏 首
  • 在 C# 中调用事件处理程序

    我一直在尝试学习如何在 C 中使用事件处理程序 但我无法弄清楚 handler this e 在以下代码中的作用 public event EventHandler ThresholdReached protected virtual vo
  • StreamReader,C#,peek

    我有一个 StreamReader 它偶尔会检查它是否有更多内容可以从简单的文本文件中读取 它使用 peek 属性 问题是 当我使用 peek 时 位置发生了变化 尽管不应该发生 FileStream m fsReader new File
  • C++:初始化静态字符串成员

    我在 C 中初始化静态字符串成员时遇到一些问题 我有几个类 每个类都包含几个表示 id 的静态字符串成员 当我通过调用静态函数初始化变量时 一切都很好 但是 当我想为一个变量分配另一个变量的值时 它仍然保留空字符串 这段代码有什么问题 st
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • 捕获另一个进程未处理的异常

    我想知道我是否可以捕获我开始使用 Process Start 的另一个进程抛出的未处理的异常 我知道我可以用这个捕获标准错误link http social msdn microsoft com Forums en US csharpgen
  • 使用 INotifyPropertyChanged

    有人可以解释一下为什么在 wpf 中使用绑定时需要使用 INotifyPropertyChanged 的 实现吗 我可以在不实现此接口的情况下绑定属性吗 例如我有代码 public class StudentData INotifyProp
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • char* argv[] 在 c/c++ 中如何工作? [复制]

    这个问题在这里已经有答案了 我知道它用于使用命令行中的参数 但我没有得到声明 字符 argv 它是否意味着指向 char 数组的指针 如果是的话为什么没有大小 如果不是动态数组 就不需要有大小吗 我做了一些研究 发现有人说它会衰减为 cha
  • 从 exit() 和 fork() 返回的结果奇怪地发生了位移

    我有一个 C 代码 有时会自行分叉 每个分叉都会执行一些操作 然后返回一个错误代码 目前 每个子进程返回其 ID 0 n void other int numero exit numero int main for int i 0 i lt
  • C# Julian 日期解析器

    我在电子表格中有一个单元格 它是 Excel 中的日期对象 但当它来自 C1 的 xls 类时 它会变成双精度型 类似于 2009 年 1 月 7 日的 39820 0 我读到这是儒略日期格式 有人可以告诉我如何在 C 中将其解析回 Dat
  • 如何在给定点停止线程?

    我试图停止一些线程 阅读一些有关优雅地执行此操作的正确方法的内容 但我一定做错了什么 因为它根本不起作用 起初我尝试不使用lock with IsRunning不稳定 然后尝试使用锁 这是我所拥有的 private volatile boo
  • 扔掉挥发物安全吗?

    大多数时候 我都是这样做的 class a public a i 100 OK delete int j Compiler happy But is it safe The following code will lead compilat
  • 类模板的 C++ 静态成员 - 链接器警告“多重定义”[重复]

    这个问题在这里已经有答案了 假设出于某种原因 我想要一个类模板 MyTemp 和一些静态数据成员 smDummyVar Mytemp h ifndef MY TEMP H define MY TEMP H template

随机推荐

  • 如何在IdentityServer4中进行多步登录?

    我们使用 IdentityServer3 隐式授权并且登录由多个屏幕组成 在 IdentityServer3 中 内置了对此类多步骤登录工作流程的支持 例如接受 EULA 双因素登录等 该功能称为 部分登录 甚至还有一个例子 https g
  • 在 Eclipse 中使用 Ant 的类路径

    我有一只蚂蚁build xml文件在命令行上运行得很好 它编译 构建 JAR 并且我能够从 JAR 中很好地执行 main 方法 这build xml文件引用了分散在各处的几个第三方库 构建 JAR 时 脚本不会将所有第三方库包含到 JAR
  • 这是从数组哈希中获取公共元素的最佳方法吗?

    我正在尝试从 Ruby 中的一组数组中获取一个公共元素 通常 您可以使用 运算符来比较两个数组 返回两个数组中存在或共有的元素 这一切都很好 除非您试图从多个对象中获取共同元素two数组 但是 我想从未知的动态数组数量 它们存储在哈希中 我
  • 如何处理原始可空类型的 Spark UDF 输入/输出

    问题 1 如果输入是包含以下内容的原始类型列 Spark 不会调用 UDFnull inputDF show x null 1 0 inputDF withColumn y udf x Double gt 2 0 apply x will
  • 禁用 jQuery 中的按钮

    我的页面创建多个按钮id rbutton i 下面是我的代码
  • Eclipse 错误:无法确定 /project-path/ 的 URI

    我在 VirtualBox 中的 Ubuntu 12 0 4 上使用 Windows 8 主机运行 Eclipse Luna 每隔一段时间 我就会启动 Ubuntu 并打开 Eclipse 来查找以下内容 我的项目应该列在包资源管理器中 但
  • python的“in”语言构造对于列表来说是线程安全的吗?

    Is obj in a list线程安全的同时a list可能会在不同的线程中修改 这是一个全面但非详尽的示例列表 of list操作以及它们是否是线程安全的 但是我找不到任何参考in语言构造 在 python 实现方面 我使用 CPyth
  • 简单的 html dom 抓取大型 html 文件

    我需要抓取一个大的 html 文件 例如 http www indianrail gov in mail express trn list html 使用简单的 html dom 我从一个简单的脚本开始 它什么也没显示 只是一个空白页 其中
  • 查找 TabStrip 索引

    是否可以在 KendoUI TabStrip 中找到选项卡的索引 我需要找到我选择的选项卡的索引 编号 并且我知道select 返回我当前的选项卡 但我不知道如何将其转换为数字 找到了解决方案 tabstrip data kendoTabS
  • VAO 是否会记住 EBO/IBO(元素或索引)和 VBO?

    我的代码正在正常工作 但这可能是一个巧合 我不想稍后再纠缠于错误 所以我试图尽可能保持它干净 我执行以下操作来初始化网格 生成并绑定 VBO 和缓冲区数据 生成并绑定 IBO 和缓冲区数据 生成并结合 VAO 绑定与之前相同的 VBO 在
  • 如何在Windows中异步打开文件

    有没有办法在 Windows 中异步打开文件 CreateFile API 函数只有 FILE FLAG OVERLAPPED 允许进一步异步读取和写入 尽管如此 文件的打开似乎是同步的 鉴于它必须访问文件系统 并可能执行昂贵的 IO 操作
  • 使用 fscanf 读取双精度

    我想从文本文件中读取双精度值 例如 31 39 9316476397222 116 113516352222 我两种都试过了 没用 我只能读取前几位十进制数字 例如39 93164 但不是 39 9316476397222 有人知道为什么吗
  • 无需光标即可在 Android Sqlite 中访问大型 BLOB

    Android 的光标窗口大小似乎有 1MB 的限制 这限制了从 SQLite 读取 BLOB 的能力 我知道您可能会说我们不应该将 BLOB 存储在数据库中 但根据定义 BLOB 被视为二进制大对象 如果不需要将它们存储在数据库中 则无需
  • 如何生成多重集的所有排列?

    多重集是一个集合 其中所有元素可能不唯一 如何枚举集合元素之间所有可能的排列 生成所有可能的排列然后丢弃重复的排列是非常低效的 存在各种算法来直接生成按字典顺序或其他类型的排序的多重集的排列 Takaoka 的算法是一个很好的例子 但 Aa
  • 编译后的 .lib 文件对于不同版本的 Microsoft Visual C++ 是否可以互换?

    有些项目为 C 以及可能的 C 不确定 库提供了一组 Windows 二进制文件 例如 请参阅右侧的链接这个 libxml 相关页面 我很确定没有办法在 VC lib 文件和 MinGW GCC a 文件之间进行转换 因此将它们称为 Win
  • 链接器命令失败,架构 i386 的符号未定义

    我正在尝试执行半页卷曲功能 这是我正在使用的代码 import
  • &**this 到底返回什么?

    这是指向调用对象的指针 它返回右值 这是一个指向调用对象的指针的指针 它返回地址的值 这是一个指向调用对象的指针的指针 这是对调用对象的指针的指针的引用 std vector
  • Google OR 工具 - 火车调度问题

    我试图解决的问题有点像这里的员工调度问题 https github com google or tools blob master examples python shift scheduling sat py 然而 有一些事情我被困住了
  • 对于 SQL Server 2005 表来说,多少列过多?

    我有一个请求 允许动态表拥有 1000 列 由我的最终用户随机选择 这对我来说似乎是个坏主意 这是一个可定制的表格 因此它混合了varchar 200 and float列 float 最适合应用程序 c double 类型 该数据库主要是
  • ASP.NET MVC 2 中带有约束的可选路由参数?

    如果我有这样的路线 routes Add new Route controller page new RouteValueDictionary page UrlParameter Optional new RouteValueDiction