如何在ASP.NET MVC应用程序中设置用于调试的启动页面?


Answers:


217

转到项目的属性,然后设置起始页属性。

  1. 转到项目的属性
  2. 转到网页标签
  3. 选择特定页面单选按钮
  4. 在“ 特定页面”文本框中输入所需的URL

1
@ Mark-这里是一个很好的链接,它更详细地描述了过程stephenwalther.com/blog/archive/2008/07/10/…。我把它放在你的答案中。
RichardOD

22
+1确保它在输入与步骤4中选择[...]按钮,将创建一个虚假的URL:d
P.Brian.Mackey

10
如果您仅在VS.NET 2010中测试和使用默认的MVC项目模板,则只需清除起始页的所有值,然后调试项目即可。这将带您进入主要的“欢迎使用ASP.NET MVC!”。页。
atconway 2012年

3
除上述步骤外,您还需要确保已正确选择启动PROJECT(如果您有多个项目,仅设置默认页面是不够的)。在解决方案资源管理器中右键单击该项目,并将其设置为启动项目。然后,项目名称将在解决方案树中以粗体显示。
Jazimov 2014年

3
@ Mark-在第4步上,您可以将文本框保留为空白,并确保选中了Specific Page单选按钮,它将在应用程序根目录下开始调试。
阿拉伯语

22

虽然您可以在MVC项目中拥有一个默认页面,但是对默认视图的更常规实现是使用默认控制器,该控制器通过'RegisterRoutes(...)'方法在global.asax中实现。例如,如果您希望将Public \ Home控制器用作默认的路线/视图,则代码将是:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

    }

为了使此功能起作用,您需要在项目中具有一个设置的起始页。


哇...即使在服务器上发布后,它实际上仍然有效(至少不是可接受的答案,至少对我来说不是这样),所以这才是真正的好答案
Antoine Pelletier,

10

这对我来说适用于MVC的“特定页面”:

/Home/Index

更新:当前,我仅在“特定页面”文本框中使用正斜杠,它会将我带到路由中定义的主页:

/

不错的简单答案。但是请注意-如果您输入的内容与开始URL类似,您仍然会收到无效的URL消息(即使当前未选择)。因此,选择“开始URL”,删除其中的文本,然后将“特定页面”属性设置为上述相对路径。
安迪·布朗

7

从项目属性中选择一个特定的页面不能解决我的问题。

在MVC 4中打开App_Start / RouteConfig.cs

例如,如果要将启动页面更改为Login

routes.MapRoute(
        "Default", // Route name
        "",        // URL with parameters
        new { controller = "Account", action = "Login"}  // Parameter defaults
    );

1

如果要按描述的那样从“应用程序根目录”启动,请在顶层Default.aspx页上单击鼠标右键,然后选择“设置为起始页”。按F5键,就完成了。

如果要从其他控制器动作开始,请参阅Mark的答案。


1
这对MVC有用吗?对我来说,它尝试启动ASPX页面并且不进行路由。
Robaticus 2010年

1

再次访问此页面,我还有更多信息可以与他人分享。

调试环境(使用Visual Studio)

1a)Stephen Walter的使用项目属性在MVC上设置启动页面的链接仅在调试MVC应用程序时适用。

1b)在解决方案资源管理器中的.aspx页上单击鼠标右键,然后选择“设置为起始页”,其行为相同。

注意:在以上两种情况下,启动页面设置只能由Visual Studio Development Server识别。您的已部署服务器无法识别它。

部署环境

2a)要设置启动页面(假设您没有更改任何默认路由),请更改/Views/Home/Index.aspx的内容,以根据需要执行“ Server.Transfer”或“ Response.Redirect”页。

2b)将您的global.asax.cs中的默认路由更改为所需的页面。

读者知道还有其他选择吗?以上哪种选择(包括您自己的选择)将是您的首选解决方案(请与我们分享原因)?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.