我正在構建我的第一個Asp.Net MVC2網站,現在我正在嘗試向該網站添加一個/ Admin區域。使用管理子網站進行路由的正確流程
我不希望這個地區是分享範圍主要組用戶,所以當你進入http://Intranet/Admin
我已經是一個NewsController我的普通用戶,但我也想要一個管理員NewsController將只能訪問我不知道如何設置類層次結構和文件夾,以便在添加視圖時它們位於正確的位置。
我在我的Global.Asax.cs裏面添加了並且正確解析了路由。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Intranet.Controllers" }
);
routes.MapRoute(
"Admin", // Route name
"Admin/{controller}/{action}/{id}", // URL with parameters
new { controller = "Admin", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Intranet.Controllers.Admin" }
);
而在文件夾層次我設置
Views/
Admin/
News/
...I want the new view to go here...
在控制器
Controllers/
Admin/
AdminController.cs
NewsController.cs (this is the one i want for administration)
NewsController.cs (this is the regular one for viewing the list, specific item etc)
我所面臨的問題是,當我進入對指數的管理員/ NewsController.cs並添加查看它嘗試在/News/Index.aspx而不是/Admin/News/Index.aspx創建它。
這是我的C114訊控制器控制器/管理 - >添加 - >控制器
namespace Intranet.Controllers.Admin
{
public class NewsController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
的代碼是不是有什麼我做不正確,或者我應該怎麼改變,這樣,當我添加的意見它們正在/ Admin/{area}目錄中創建。
謝謝。花了一點時間,我的腦袋圍繞着額外的控制器步驟來分離兩個區域,但現在都很好 – 2010-10-07 03:15:49