ASP.Net MVC - 资源无法找到错误如何解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

我对ASP.Net MVC完全陌生。我刚刚在Visual Studio 2010中创建了一个MVC3项目。视图引擎是剃须刀。当我刚刚运行应用程序时,它在浏览器中给出了正确的结果。该URL是http:// localhost:4163 /。然后,我将“Set as Start Page”设置为〜\ Views \ Home文件夹中的Index.cshtml。然后,当我运行应用程序时,url变成了 http:// localhost:4148 / Views / Home / Index.cshtml ,并且表示无法找到该资源。我该怎么做才能纠正它?URL映射在哪里完成?

Global.asax文件:

using System.Web.Mvc;
using System.Web.Routing;

namespace TEST
{

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

    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
        );

    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
    }
 }
提问于
用户回答回答于

URL映射或“路由”由ASP.NET MVC站点的根目录中的Global.asax处理。

当单击“设置为起始页”时,它将更改项目设置以查找相对于应用程序根目录的文件。但在MVC的默认到你的索引页的路线实际上是http://localhost:4163/Home/Index-读像这样得到如何路由工作的想法。

为了“修复”项目,现在它正在尝试(和失败)直接导航到视图,请右键单击项目并选择“ Properties”,单击“ Web”选项卡并选择“ Specific Page”,将文本框留空。现在,当开始调试时,应该再次进入主页 - 查看默认路由参数,以查看Global.asax中RegisterRoutes方法的原因

用户回答回答于

确保你在控制器文件夹中创建了一个HomeController.cs类。

扫码关注云+社区