【问题标题】:the resource cannot be found asp.net mvc找不到资源 asp.net mvc
【发布时间】:2017-07-18 15:15:49
【问题描述】:

您好,我已经尝试了一些堆栈溢出可用的解决方案...其中一些正在 routeconfig 中进行配置,转到项目属性并创建一个虚拟目录。但它们都不适合我。我一直在做这个项目,我不知道突然发生了什么。我试过重新启动笔记本电脑以及 visual studio 。请帮助它之前工作正常

更新:我有 2 个无法正常工作的控制器管理员和帐户控制器都有视图以及它们相应的控制器

【问题讨论】:

  • 你的 RouteConfig 中是否为 URL /admin/index 配置了路由?
  • @AlanBuchanan 我已经用 routeconfig ss 更新了问题
  • 它是否完全触及您的管理控制器索引方法并在将其传递给视图时爆炸?你能在里面设置断点吗?您能否验证 _LayoutAdmin 是否存在于您的 Views/Shared/ 文件夹中?
  • 是的,它存在@TravisActon
  • 当我尝试使用断点@TravisActon 时,它没有命中管理控制器

标签: asp.net asp.net-mvc visual-studio


【解决方案1】:

删除所有现有路由并使用默认路由:

routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

这应该让事情变得简单,并且还应该与您现有的控制器/动作一起使用。

【讨论】:

    【解决方案2】:

    我认为问题与您的路线有关。您可以尝试如下所示的明确路线并检查它是否有效?

    routes.MapRoute(
      name: "AdminIndex",
      url: "admin/index",
      defaults: new { controller = "Admin", action = "Index" }
    );
    

    【讨论】:

    • 你把这条路线放在你的 RouteConfig 的什么地方?将其放在顶部并重新编译(如果还没有的话)。
    • 我在 admin controller 的 index 方法处设置了断点。该方法根本没有受到欢迎。该解决方案仍然无法正常工作@alan
    • 我已经把它放在了 routeconfig 文件中,正如你所说的@alan
    【解决方案3】:

    您可以尝试像这样调整您的管理路线吗:

     routes.MapRoute(
                "Admin",
                "{controller}/{action}/{id}",
                new { action = "Index", controller = "Admin", id = UrlParameter.Optional }
    );
    

    【讨论】:

    • 当我在 url 中点击 admin 或 admin.index 时,在尝试了您的方法后,它会返回主控制器 @travis 中的主页
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    相关资源
    最近更新 更多