【问题标题】:ASP.NET MVC - 404 ProblemASP.NET MVC - 404 问题
【发布时间】:2010-07-25 09:46:44
【问题描述】:

我有一个视图文件夹结构:

  • 观看次数
  • 管理员
  • 发布

并且路由定义为:

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

但是,例如:/Admin/Post/New 给出 404 错误。因为它不会先进入 Admin 文件夹。

错误: 未找到视图“新”或其主视图。搜索了以下位置: ~/Views/Post/New.aspx ~/Views/Post/New.ascx ~/Views/Shared/New.aspx ~/Views/Shared/New.ascx

如何定义文件夹?

【问题讨论】:

  • 您的视图是否也有匹配的控制器?另外,视图路径前面的下划线是什么意思?
  • 是的,我有控制器。下划线仅用于显示 subs。

标签: c# asp.net asp.net-mvc routing


【解决方案1】:

与其在Views 下创建类似的子文件夹,不如查看Areas。这可能会更好地帮助您解决问题。

【讨论】:

    【解决方案2】:

    您不需要这样做。 /Views 文件夹中的 web.config 文件禁止直接访问任何视图。用户将无法访问 www.yoursite.com/Views/___Admin。

    我会将它们重命名为 /Admin、/Post、/New 等。

    否则,您需要创建一个新的 ViewEngine(您可以扩展 WebFormsViewEngine)来提供额外的路径。

    【讨论】:

      猜你喜欢
      • 2015-02-24
      • 2011-04-02
      • 1970-01-01
      • 2011-11-17
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多