2012-10-25 43 views
1

我正在使用URL路由,並且遇到一些問題。我想我的網址是這樣的:在asp.net中製作id'less url mvc razor

www.domain.com/p/myproduct

但我也希望能夠檢索產品的ID,而無需訪問數據庫。我想過有像網址:

www.domain.com/p/myproduct/1

但如果我能躲ID會更好。

那麼,我該如何做到最簡單的方法呢?

目前我的Global.asax有以下途徑:

routes.MapLocalizedRoute("Product", 
         "p/{productId}/{SeName}", 
         new { controller = "Catalog", action = "Product", SeName = UrlParameter.Optional }, 
         new { productId = @"\d+" }, 
         new[] { "Nop.Web.Controllers" }); 
+0

如果您的問題涉及到如何路由數據,[閱讀](http://stackoverflow.com/questions/7851730/mvc-route-actionlink-url-use-name-instead-of-id)。 但是,從像www.domain.com/p/myproduct這樣的url中檢索產品的ID將很困難。我能想到的唯一方法是將ID隱藏在POST請求中,但這是一個非常糟糕的主意。 – kdrvn

+0

[ASP.NET MVC - 在URL中隱藏ID?]的可能重複(http://stackoverflow.com/questions/2952367/asp-net-mvc-hiding-id-in-url) –

回答

0

如果你已經是URL,那麼你將不得不包括ID那裏,如果你想讀它。

隱藏它的唯一方法是,如果你有ID來你從形式後說,假設他們都來自前一個頁面。然後,您可以將選定的ID存儲並作爲請求的一部分發布到網址。

相關問題