0

我试图分裂我的领域模块 我模块 1.登录 2.用户管理 3.掌握地区未在MVC工作4

我创建了面积和我的第一次启动页(面积=登录,控制器=登录,动作= loginpage)

我的代码路径的配置码是

RouteConfig.cs

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Login", action = "Login", id = UrlParameter.Optional }, 
      namespaces: new[] { "SRR.Areas.Login.Controllers" } 
     ); 


    } 
} 

LoginAreaRegistration.cs

public override string AreaName 
    { 
     get 
     { 
      return "Login"; 
     } 
    } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     //Trace.WriteLine("Login"); 
     context.MapRoute(
      "Login_default", 
      "{controller}/{action}/{id}", 
      new { controller = "Login", action = "Login", id = UrlParameter.Optional }, 
      namespaces: new[] { "SRR.Areas.Login.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 { controller = "Menu", action = "MenuPrivilages", id = UrlParameter.Optional }, 
      namespaces: new[] { "SRR.Areas.UserAdmin.Controllers" } 

     ); 
    } 
} 

这里我的起始页登录快到了罚款,但useradmin模块意见不显示了穿过错误有“资源不能被发现”。

预先感谢

回答

0

,我相信是你的控制器“登录”和行动方法问题“登录”两次,一次在地区和其他在根。所以命名空间必须不同,但是对于两个错误的路由你都有类似的命名空间。默认情况下,不需要为默认路由指定名称空间,因为它将映射根文件。这可能是应用程序无法找到要呼叫的日志的原因。

+0

是老板我可以改变它不同的名称,然后它也显示这样的错误“〜/地区/登录/视图/ SRRLogin/LoginPage.aspx”。 – 2014-10-29 10:53:23

+0

是的老板,请帮助我。你是对的我给区域,控制器和行动相同的名称,但现在我改变了它,然后它也显示无法找到资源 – 2014-10-29 11:04:50

+0

@KarthiDinaa你可以更新您的查询中修改后的源代码? – Venkat 2014-10-29 12:06:33

1

登录区登记missies在图案定义的区域规范;将“{controller}/{action}/{id}”更改为“Login/{controller}/{action}/{id}”

如果从路由注册中删除命名空间约束,会发生什么情况?控制器(所有的登录和用户管理)都在正确的名称空间中吗?我想登录控制器正在显示,因为我上面提到的缺少区域规范和登录*控制器不在正确的名称空间。

您的RegisterRoutes方法忽略了默认路由登记前行:

AreaRegistration.RegisterAllAreas(); 
+0

如果我在LoginAreaRegistration类中更改了“Login/{controller}/{action}/{id}”,我的登录页面也没有显示错误信息“〜/ View/Lodin/Login.cshtml” – 2014-10-29 08:34:35

+0

是的,我知道正如我上面提到的那样。和“Lodin”或“登录”? – 2014-10-29 08:36:16

+0

只登录我试过 – 2014-10-29 08:38:17