【发布时间】:2014-10-30 12:18:01
【问题描述】:
我尝试在 mvc 4 中使用区域,但路由配置不起作用,出现错误找不到资源“/UserAdmin/Menu/MenuPermissions”
我创建了两个名为“UserAdmin”和“Master”的区域。 我的主页已放置在根控制器中,请帮助我访问区域视图
我的代码是
-
RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); AreaRegistration.RegisterAllAreas(); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Login", action = "LoginPage", id = UrlParameter.Optional }, namespaces: new[] { "SRR.Controllers" } ); } -
UserAdminAreaRegistration.cs
public class UserAdminAreaRegistration : AreaRegistration { public override string AreaName { get { return "UserAdmin"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "UserAdmin_default", "UserAdmin/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } } -
在视图页面中调用
<a href="~/UserAdmin/Menu/MenuPermissions"> </a> -
菜单控制器
public class MenuController : Controller { // // GET: /UserAdmin/Menu/ readonly MenuClass _menu = new MenuClass(); public ActionResult MenuPermissions() { Session["username"] = "1001"; if (Session.Count == 0) { return RedirectToAction(""); } else { List<Menu> menuList = new List<Menu>(); menuList = _menu.GetAllMenuItems(); return View(menuList); } } }
提前致谢
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 model-view-controller