需要帮助在 ASP.NET MVC 中创建路由

发布于 2024-08-26 18:55:07 字数 184 浏览 7 评论 0原文

我想创建一条

//Widgets/PerformanceTable/['best' or 'worst' to sort by performance of an investment]

需要“最佳”或“最差”的路线。

有人可以告诉我一个好方法吗?

谢谢

I want to create a route like

//Widgets/PerformanceTable/['best' or 'worst' to sort by performance of an investment]

where either 'best' or 'worst' are required.

Can somebody show me a good way to do this?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左岸枫 2024-09-02 18:55:07

我将假设您的控制器操作具有以下签名:

 public ActionResult PerformanceTable(string order)

在这种情况下,以下路线将适合您:

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{order}", // URL with parameters
            new { controller = "Widgets", action = "PerformanceTable", order = "best" }, // Parameter defaults
            new { order = "(best|worst)" });  // Constraints

如果未给出顺序,则将默认顺序“最佳”传递到控制器中。

MapRoute 的最后一个参数是一个正则表达式,定义顺序参数的可能值(在本例中为“最佳”和“最差”)。如果给出任何其他值,则路线将不匹配。

I'm going to make the assumption that your controller action has the following signature:

 public ActionResult PerformanceTable(string order)

In which case the following route will work for you:

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{order}", // URL with parameters
            new { controller = "Widgets", action = "PerformanceTable", order = "best" }, // Parameter defaults
            new { order = "(best|worst)" });  // Constraints

If no order is given, a default order of 'best' is passed into the controller.

The final parameter of MapRoute is a regular expression defining the possible values for the order parameter (in this case 'best' and 'worst'). If any other value is given, then the route won't match.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文