ASP .net MVC调用默认控制器和操作vs设置启动页面

时间:2011-01-11 06:24:20

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

我正在开发VS2010提供的示例ASP .net MVC模板的代码。第一次运行代码而不添加任何内容时,调用了index.aspx页面,这是预期的。但由于某些原因,我添加了一个login.aspx,然后不小心将其设置为启动页面。现在,当我运行应用程序时,默认启动URL看起来像http://localhost/Views/login.aspx。我认为这不是一个有效的MVC路由路径,我得不到所请求的资源错误。

我不知道如何将其恢复,并确保调用默认的../home/index。任何人都可以对此有所了解吗?我也不应该像在asp .net webforms中那样设置启动页面吗?

1 个答案:

答案 0 :(得分:10)

简短回答:您已经做了一些允许在ASP.NET WebForms中执行的操作,但它在ASP.NET MVC中的工作方式不同。要恢复您的工作,请打开项目属性(从“项目”菜单),然后转到“Web”选项卡。将Start Action设置为Current Page而不是Specific Page。现在,当您运行项目时,您将能够像以前一样看到Home / Index页面。

要在MVC中正确执行此操作,您需要在Global.asax中配置路由。您将找到类似于以下内容的条目:

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

您可以看到,当您未指定控制器和操作时,它会转到Home / Index。您可以在那里更改控制器名称和操作名称,它将默认为您在那里提到的操作。只需确保您在控制器中具有相关操作即可。