- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想定义一个带有约束的路由,以便它只匹配已知的 Controller 名称。这是为了让我能够为相同形式的其他 URL 定义后备路由。
具体:
/User
应该将我带到用户 Controller (存在)的索引操作
/History
应该将我带到历史记录 Controller (存在)的索引操作
/es
由于不存在“es” Controller ,因此应使用后备路由并将我带到语言参数值为“es”的 Home Controller 的 Index 操作。
我需要这个,因为我需要提供带有语言代码的特殊 URL,以便以给定语言启动应用程序。所以现在需要在路由中区分有效的 Controller 名称和语言名称。
如何实现 RegisterRoutes
来实现此目的?非常感谢!
编辑:我意识到我可以为每个 Controller 定义特定的路由,这没问题(我没有无数的 Controller )。但我想知道是否可以依靠通用约束来实现此目的,这样我就不必定义单独的路线。
最佳答案
定义路线时,请使用“constraints”参数来处理此问题。
例如:
RouteTable.Routes.Add(new Route
{
Url = "{controller}/{action}",
Constraints = new { controller = "User|History" },
Defaults = new { action = "Index" }
};
RouteTable.Routes.Add(new Route
{
Url = "{languageCode}",
Defaults = new { controller = "Home", action = "Index" }
};
将首先评估添加的第一条路线。如果“ Controller ”的 token 与约束不匹配,则将评估添加的下一个路由,并使用 Index 操作和参数 languageCode 中的语言 token 解析到 Home Controller 。您可能还想向 languageCode 标记添加约束,以确保仅匹配有效的语言。然后您可以添加第三条路线作为包罗万象的路线。
您还可以使用路由处理程序来处理 languageCode,如我在博客文章 Localization and MVC 中所述。 .
关于routes - MVC路由: constrain a route to match recognized controller names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11000005/
在 Swift 中,我们可以对序列等通用项编写扩展: extension Sequence where Iterator.Element : ObservableType { } 这将保证扩展仅适用于
刚刚从视频教程中注意到Laravel有这个foreignId-constrained。所以我尝试将我的代码从 method.1 更改为 method.2,表已迁移,但是当我尝试 db:seed 时,默
在“project.project”模型中,我编写了一个函数来验证“开始日期”和“结束日期”,为此我使用了 onchange 函数。该函数正在工作并发出警告,但正在创建记录。实际上,如果有任何错误意味
给定平面中的一组点和一个不完整的 triangulation of the convex hull of the points (只给出了一些边),我正在寻找一种算法来完成三角剖分(初始给定的边应该保
我正在尝试获取constrains.maxHeight。 这是我使用的代码: LayoutBuilder( builder: (BuildContext context, B
我收到一个错误,我不明白为什么。 我的代码: library ieee; use ieee.std_logic_1164.all; use work.Func_Pack.all; use ieee.
我想启动很多任务来在 +-42Mio 记录的数据库上运行。我想以 5000 条记录/时间的批处理运行此程序(结果为 850 个任务)。我还想限制 java 开始为我执行此操作的线程数(最多 16 个)
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 8 年前。 Improv
我收到一个错误,我不明白为什么。 我的代码: library ieee; use ieee.std_logic_1164.all; use work.Func_Pack.all; use ieee.
如果没有“可用数量”,我想禁止生产产品。但是这段代码不起作用。 它仅在我将 @api.constrains 更改为 @api.onchange('move_lines') 时有效,但如果我使用 onc
来自 C++ 背景(模板),我很难理解为什么以下 Swift 代码(泛型)无法编译: func backwards(array: [T]) -> [T] { let reversedColle
在 MSDN 上 - C# 编程指南 Constraints on Type Parameters ,它说: where T : interface_name The typeargument mus
我在 typescript 中有以下通用类 type UserId = number type Primitive = string | number | boolean class ColumnVa
尽管我通常是宏的粉丝,但是我不明白为什么Arduino的制造商选择使用宏而不是实际的函数来表示其一些算术“函数”。仅举几个例子: min() max() constrain() 他们的网站通知人们不要
您如何指定泛型类型参数只能是协议(protocol)(或符合该协议(protocol)的协议(protocol)),而不是符合该协议(protocol)的类? 例如: import Foundatio
这个问题由 C# 和 Salesforce 组成,双方可能都有解决方案。欢迎提出建议! 我正在编写一个通用类来读取 Salesforce 数据。签名看起来像这样: public abstract cl
我正在尝试通过 Interface Builder 使用约束来安排 Storyboard中的控件(“任何宽度,任何高度”的情况)。我在那里添加了 UIView,但是,当我根据给定的约束按下此元素的更新
我正在尝试实现某些目标,但我找不到/决定什么是最好的实现方法,所以我要问以前是否有人这样做过,或者 select2 是否内置了一些东西来实现目标我想要。 事情是这样的:我的 DOM 中有许多选择(多个
我在使用自适应支付的实时 API 凭据时遇到此错误。 阅读 intrwebs 和文档它必须对帐户权限做一些事情,但公平地说我不知道是哪一个。接收器、api 持有者或应用程序 我已经创建了应用程序,
我正在尝试编写一个可以从 Java 使用的 Clojure 库,而用户不知道它是用 Clojure 编写的。为此,我需要我的字段具有正确的类型: 我喜欢我能做到这一点: (deftype Point
我是一名优秀的程序员,十分优秀!