无法获得新的控制器或视图以在ASP.Net MVC中工作

时间:2010-04-19 19:32:31

标签: asp.net asp.net-mvc

基本上标题是什么。我创建了一个新的MVC应用程序。我正在尝试向网站添加新页面,但无论何时我都会收到以下错误:

Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Products

这是我的控制器,名为ProductsController。

namespace MyAppMVC.Controllers
{
    public class ProductsController : Controller
    {
        public ActionResult Index()
        {
            return View("Index");
        }
    }
}

我也试过

            return View();

但那没用。

我的视图名为Index.aspx,它位于文件夹Views / Products。

所以一切看起来都很好,我查看了NerdDinners教程,他们似乎也没有做任何与我不同的事情。 我看了应用程序附带的家用控制器,我的看起来很相似。我很确定我不需要在路由中添加任何内容,但也许我会这样做。

有什么想法吗?这让我很难过。

根据请求,这里是我的global.asax.cs文件

public class MvcApplication : System.Web.HttpApplication
{
    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();

        RegisterRoutes(RouteTable.Routes);
    }
}

3 个答案:

答案 0 :(得分:4)

使用Phil Haack's route tester检查您的路由,并确保您的路由正确路由到所需的控制器方法。

答案 1 :(得分:1)

最后的问题是我创建了一个不正确的母版页,其中包含导致问题的文件背后的代码。我没注意到MVC在Add New对话框中有自己的Master Pages选择。糟糕!

感谢大家的帮助。

答案 2 :(得分:0)

可能是您正在使用IIS6并且尚未启用通配符映射。或者您也可以不将默认文档设置为Default.aspx?或者从应用程序根目录中删除Default.aspx? :)