我想创建一个像
这样的路线//Widgets/PerformanceTable/['best' or 'worst' to sort by performance of an investment]
要求“最佳”或“最差”。
有人能告诉我一个很好的方法吗?
由于
答案 0 :(得分:4)
我将假设您的控制器操作具有以下签名:
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的最后一个参数是一个正则表达式,用于定义order参数的可能值(在本例中为'best'和'worst')。如果给出任何其他值,则路线将不匹配。