Asp.net-Mvc

ASP.NET MVC 通過字元串 id 路由?

  • October 1, 2011

在 ASP.NET 2 中,如何創建允許通過字元串 id(例如 ProductCode)查找對象(例如 Product)的路由?通過整數 id(例如 ProductId)查找同一對象的路徑是自動的,所以我實際上並不知道它是如何工作的。

id 的自動路由是:

/Product/1

如何還創建使用字元串 id 的第二條路線?

/Product/red-widget

我該怎麼做才能使兩條路線都可用?

您應該看看使用路由約束來執行此操作。見http://www.asp.net/mvc/tutorials/creating-a-route-constraint-cs

routes.MapRoute(
   "Product",
   "Product/{productId}",
   new {controller="Product", action="DetailsByName"},
   new {productId = @"\w+" }
);

在上面,約束正則表達式“\w+”應該限制為僅匹配“單詞”字元的路由(查看正則表達式文件以獲取有關此處使用的模式的更多詳細資訊)。

引用自:https://stackoverflow.com/questions/7618037