2010-03-25 105 views
1

幫助創建一個路由我想創建一個像需要ASP.NET MVC

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

其中「最佳」或「最差」的要求是路由。

有人可以告訴我一個很好的方法來做到這一點嗎?

感謝

回答

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')。如果有其他值,那麼路線將不匹配。

+0

我喜歡約束。我想知道如何防止路由匹配其他類似的通用路由。 – 2010-03-25 21:51:15