我目前工作的一個asp.net的MVC 4應用程序,我有以下類型的URL的需要:ASP.NET MVC 4路線的用戶名/行動問題
的網址需要路由
我遇到的問題是,目前{用戶名}被作爲動作這麼處理解決這個問題我實現了以下路線,但是這意味着每次我想實施一個新的操作或者需要一個需要{username}的控制器時,我將不得不更新我的路線:
個只有富通路表示
routes.MapRoute("FooSomeAction", "foo/someaction", new { controller = "Food", action = "SomeAction" });
routes.MapRoute("FooDelete", "foo/delete/{id}", new { controller = "Food", action = "Delete" });
routes.MapRoute(
"FooProfile",
"foo/{username}",
new { controller = "Foo", action = "Index", username = "" }
);
// Default route
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
2問題
1)是否有什麼辦法可以實現上面的網址沒有硬編碼的所有路線?
2)處理某人使用的用戶名恰好與控制器或操作名稱相同的用戶名的最佳方式是什麼?
DotnetShadow
據我所知,你的第二個問題是不可能的。在那裏採取行動還有什麼不好? – mattytommo 2013-02-28 12:44:58
在那裏採取行動還有什麼不好? - 對不起,你這是什麼意思? – DotnetShadow 2013-02-28 13:13:00
道歉,如果我含糊不清,我的意思是說你可以讓行動和控制器名稱都出現在鏈接中?像/ User/Edit/User1? – mattytommo 2013-02-28 13:39:22