[英]MVC 3 Area Registration 302 Error
我有2個區域,名稱分別為“ Admin”和“ Services”。 我的項目結構如下圖1所示
我想將所有根URL重定向到Admin區域。 我更改了我的區域注冊文件以解決此問題,如下代碼塊所示。
//Root
//Old Value
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
//New Value
routes.MapRoute(
"Default", // Route name
"trash/{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
現在,為了將根URL重定向到Admin區域,我更新了AdminAreaRegistration.cs類,如下所示。
//Admin
//Old Value
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
//New Value
context.MapRoute(
"Admin_default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
更新之后,當我想瀏覽我的網站時,可以看到我的管理區視圖。 但是我在“管理區域視圖”上有很多AJAX調用,當這些ajax調用嘗試調用服務區域控制器時,它無法訪問服務控制器,我已經在網絡插件上進行了監視,以查看我收到的HTTP 302錯誤是什么錯誤,然后將其重定向到404 Not Found頁面。
我希望我的解釋是不穩定的。
先感謝您。
如果將以下參數添加到MapRoute,它將得到修復。
.DataTokens.Add("area", "Admin");
和
namespaces: new[] { "X.Areas.Admin.Controllers" } ).
最終輸出
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {area="Admin", controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "X.Areas.Admin.Controllers" }
).DataTokens.Add("area", "Admin");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.