我對MVC路由感到困惑。假設我有這個域名:poopoopants.com。我想一些標準的網址,關閉根說去一個「關於」頁面或「聯繫方式」頁面:動態ASP.NET MVC路由
http://poopoopants.com/about
http://poopoopants.com/contact
現在,我也將有下面這兩條路的無限量,其中「[用戶]」是用戶名,用於與poopoopants.com帳戶註冊的人,和[文件路徑]的變量是一個網址的sanitize文件路徑可含有/字符:
http://poopoopants.com/[user]
http://poopoopants.com/[user]/[file-path]
所以我假設我會有一個IndexController
與Index
行動/
,About
a,Contact
動作爲/contact
,一個爲UserController
與Index
動作爲/[user]/
和File
動作爲/[user]/[file-path]
。
我的問題涉及到Global.asax.cs
中的路線。到目前爲止,我已經有了:
routes.MapRoute("Index", "/", new { controller = "Index", action = "Index" });
routes.MapRoute("About", "/about", new { controller = "Index", action = "About" });
routes.MapRoute("Contact", "/contact", new { controller = "Index", action = "Contact" });
但是我指定/ [用戶]和/ [用戶]/[文件路徑]路線,以及他們在UserController
行動的相應方法簽名?
我不得不改變URL參數「文件」路線「{用戶名}/{*}文件路徑」支持文件路徑以「/」在其中,但工作perfectly- -謝謝! – SnickersAreMyFave 2010-11-03 18:24:55
嗯,我沒有看到我可以如何爲聯繫人和關於一條路由,因爲用戶路由將捕獲任何未明確定義的路由,對吧? – SnickersAreMyFave 2010-11-03 18:26:30
是的,我錯了。快速測試證明;)很高興我可以幫助你,與你的項目祝你好運。 – mlusiak 2010-11-03 21:43:16