我建立一個基本的博客應用程序剛纔,因爲我只是用默認路由查看數據,即 -ASP.NET MVC - 在URL中隱藏ID?
routes.MapRoute
(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = "Blog", action = "Index", id = UrlParameter.Optional }
);
所以,當你去到mysite.com/View/12它顯示的具有ID的博客12.我想修改這些URL,使其看起來如下所示:mysite.com/View/2010/06/01/this-is-the-title。
我能有一個URL映射像 -
routes.MapRoute(
"View",
"View/{year}/{month}/{day}/{title}",
new { controller = "Blog", action = "View" }
);
但後來我沒有通過ID到控制器動作,所以我不得不在這感覺不對的日期和標題進行搜索。另一方面,如果我傳遞了ID,它將顯示在URL中,而這不是我想要的。有沒有辦法在控制器動作中只傳入ID作爲參數後重定向到我想要的URL,或者將ID傳遞到Map Route但將其隱藏在URL中?
感謝您的幫助!
這可能是最安全的。(日期沒有必要,但也許你有這樣的組織的原因。) – 2010-06-02 03:50:33
有些人喜歡描述性的網址。 – Aren 2010-06-02 15:41:25
謝謝,我將與此同去!我會考慮將id放入標題中,但如果我要這樣做,那麼我可能只需將id作爲參數傳遞即可。 – mcfroob 2010-06-02 17:03:19