Asp.net mvc 使用MVC2启动ASP.Net应用程序时出现HTTP 404错误

Asp.net mvc 使用MVC2启动ASP.Net应用程序时出现HTTP 404错误,asp.net-mvc,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 2,我在尝试让一个非常简单的ASP.Net应用程序开始使用.NETFramework4和MVC2时遇到问题 在VisualStudio2010中按F5时,我收到以下错误消息HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时无法访问。请检查以下URL并确保其拼写正确 当我添加视图时,我通过右键单击控制器中的方法添加了视图,这当然添加了视图。我还注意到,当选择“转到视图”时,这也会在VisualStudio中抛出一个错误,并表示视图不存在!此外,我已经转到Global.as

我在尝试让一个非常简单的ASP.Net应用程序开始使用.NETFramework4和MVC2时遇到问题

在VisualStudio2010中按F5时,我收到以下错误消息HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时无法访问。请检查以下URL并确保其拼写正确

当我添加视图时,我通过右键单击控制器中的方法添加了视图,这当然添加了视图。我还注意到,当选择“转到视图”时,这也会在VisualStudio中抛出一个错误,并表示视图不存在!此外,我已经转到Global.asax页面,并将默认控制器更改为我添加的控制器,但这没有任何区别


所以,请告诉我-但我需要更改吗?

要安装MVC,需要考虑一些注意事项。 我认为您正在尝试在IIS 5或6上安装它

请阅读这篇文章
或者升级到IIS 7

尝试转到
/ControllerName/ActionName
。如果更改了默认值,则必须确保拼写正确。还请注意,ASP.NET MVC框架删除了控制器名称的“控制器”后缀

如果您的新控制器名为
MyNewController
,则应:

  • 控制器继承
  • 被称为
    MyNewController
  • 像这样

    public MyNewController : Controller {
        public ActionsResult MyAction() {
           return View();
        }
    }
    
    对于这种情况,在Global.asax.cs中,默认设置应为:

    routes.MapRoute(
        "Default", 
        "{controller}/{action}/{id}", 
        new { controller = "MyNew", action = "MyAction" }
    );
    

    请注意默认控制器设置如何缺少“controller”后缀。

    也有类似问题。我犯了这样一个错误,修改了默认路由:

    url: "{controller}/{action}/{id}",
    
    为此:

    url: "{controller}/{action}/{id*}",
    
    将星号放在错误的位置导致绝对每个URL都给我一个404-和往常一样,ASP.Net路由几乎不可能调试

    解决方案是将星号放在适当的位置:

    url: "{controller}/{action}/{*id}",
    

    (这允许路由使用任意数量的前斜杠,而不是将其限制为3。带星号的部分是catchall。)

    显示您的默认路由,您可以发布带有跟踪的整个错误消息吗?我想查看您的请求Url、gobal.asax和controller。我正在运行windows 7的计算机上本地运行此程序。您有什么版本的IIS?