【问题标题】:The resource cannot be found. ASP.NET MVC3无法找到该资源。 ASP.NET MVC3
【发布时间】:2012-01-12 02:09:05
【问题描述】:

我不知道为什么在调试项目后会出现这个错误,即使代码是默认的。

控制器

public class HomeController : Controller
{
    //
    // GET: /Home/

    public ActionResult Index()
    {
        return View();
    }

}

查看

 @{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>Index</title>
</head>
<body>
    <div>
        Hi
    </div>
</body>

不知何故,在调试之后,请求的 URL 始终是 /Views/Home/Index.cshtml,但通过浏览器访问主页就可以了。 (http://localhost:58323/home)

我用谷歌搜索,解决方案提示问题出在全球范围内。但这很奇怪,我不记得对其进行了任何更改。

全球

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

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

    }

感谢任何帮助。谢谢

【问题讨论】:

    标签: asp.net-mvc-3 asp.net-mvc-routing


    【解决方案1】:

    我认为您只是设置了 Visual Studio 设置,以便将视图设置为起始页。右键单击项目并转到属性,然后转到 Web 选项卡。是否使用“Views/Home/Index.cshtml”设置为值选择了“特定页面”单选按钮?将其更改为使用起始网址。就我个人而言,我不希望调试器启动浏览器并使用不打开页面。

    【讨论】:

    • 天哪,你是救生员!非常感谢@Matt Murphy
    • 嗨,我也遇到了同样的问题,但是当我将它更改为使用起始 URL,然后保存时,我收到一条错误消息“指定的起始 URL 无效”
    【解决方案2】:

    右键单击您的 Web 项目 -> 属性 -> Web

    检查您是否已将启动操作设置为特定页面且字段中没有值。

    我的猜测是您将开始操作设置为当前页面。

    【讨论】:

      【解决方案3】:

      如果 Views 文件夹中文件夹结构的层次结构不正确,甚至可能导致此错误。 如果您通过右键单击 Views 文件夹来添加视图。添加的新视图可能被错误地放置在文件夹层次结构中。

      解决问题的方法是: 考虑一个名为 index.ascx 的视图,它应该链接到一个名为 HomeController 的控制器。 在 Views 文件夹下应该有一个文件夹名称 Home(与 Controller 相关)和 index.ascx 应位于主文件夹中。

      添加视图的最佳方法是在公共方法旁边右键单击,这将在上下文菜单中显示创建视图选项。如果您以这种方式创建视图,则会自动创建文件夹层次结构。

      【讨论】:

        猜你喜欢
        • 2018-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-07
        相关资源
        最近更新 更多