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

SAR*_*VAN 5 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中那样设置启动页面吗?

Imr*_*hid 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
        );
Run Code Online (Sandbox Code Playgroud)

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