【问题标题】:MVC3, ASP.NET 4 - The resource cannot be found.MVC3、ASP.NET 4 - 找不到资源。
【发布时间】:2011-09-21 21:46:42
【问题描述】:

我有 VS2010、MVC3 和 ASP.NET 4.0 以及一个简单的测试 mvc 应用程序。问题是我仍然不断收到错误:

“/”应用程序中的服务器错误。

找不到资源。 说明:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的网址:/Pizzas/Pizza

这是我的简单控制器:

public class PizzasController : Controller
{
public ActionResult Pizza()
{
var pizzas = new Pizza();
return View("Pizza", pizza);
}

}

这是我 global.asax 的一部分:

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

        routes.MapRoute(
          "Pizza_1",
          "Pizzas/Pizza",
          new { controller = "Pizzas", action = "Pizza"}

      );

        routes.MapRoute(
            "Pizzas_2", // Route name
            "{controller}/{action}", // URL with parameters
            new { controller = "Pizzas", action = "Pizza" } // Parameter defaults
        );

        }

我正在尝试通过这种方式从 Pizza.cshtml 调用此操作:

@Html.ActionLink("Test", "Pizza", "Pizzas");

当两条路线都未注释时,然后执行到 Pizza_2 路线并且它没有问题地通过。但是如果我注释掉 Pizza_2,那么它会转到 Pizza_1,并且在没有进入操作方法的情况下发生错误。 该应用程序在 ASP.NET 开发服务器(不是 IIS)上运行。 我注意到它仅在没有指定完整 url 时才适用于 Pizza_2 路由: http://localhost:2893

但是如果像这样输入完整的网址: http://localhost:2893/Pizzas/Pizza

错误再次出现。

【问题讨论】:

  • 当您评论 Pizzas_1 和 ucomment Pizzas_2,然后打开 localhost:2893/Pizzas/Pizza 时会发生什么?首先验证这在没有自定义路由的情况下是否有效。
  • 只有 Pizza_2 可用时,它可以工作,但不适用于自定义路线。 Html.ActionLink 有效,但如果使用完整的自定义路由则失败

标签: asp.net-mvc-3


【解决方案1】:

删除

    routes.IgnoreRoute("{Scripts}/{*pathInfo}");

根据http://msdn.microsoft.com/en-us/library/cc668201.aspx#url_patterns {Scripts} 被解析为参数。

如果你想为脚本做透传,你应该使用

    routes.IgnoreRoute("Scripts/{*pathInfo}");

【讨论】:

  • 我遇到了同样的错误:routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
【解决方案2】:

我遇到了同样的问题,但是当我查看项目的警告列表时,我发现我引用了 OracleDataAcces.dll。重建项目时,由于安全问题无法删除dll。然后我右键单击 bin 文件夹,它被授予只读访问权限,然后我取消选择它并再次重建。

之后页面加载没有任何问题。希望这可以解决它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    相关资源
    最近更新 更多