Asp.net mvc 如何设置ASP.NET MVC应用程序中调试的启动页?

Asp.net mvc 如何设置ASP.NET MVC应用程序中调试的启动页?,asp.net-mvc,Asp.net Mvc,如何开始在应用程序根目录下调试应用程序?例如: 我总是得到一个不存在的页面,例如: 请注意,可以从开始转到项目的属性并设置“起始页”属性 转到项目的属性 转到Web选项卡 选择特定页面单选按钮 在特定页面文本框中键入所需的url 如果您想从您描述的“应用程序根目录”开始,请右键单击顶级Default.aspx页面并选择set as start page。按F5键,就完成了 如果您想从不同的控制器操作开始,请参阅Mark的答案。再次访问此页面,我有更多信息与其他人共享 调试环境(使用Visual

如何开始在应用程序根目录下调试应用程序?例如:

我总是得到一个不存在的页面,例如:


请注意,可以从开始转到项目的属性并设置“起始页”属性

  • 转到项目的属性
  • 转到Web选项卡
  • 选择特定页面单选按钮
  • 在特定页面文本框中键入所需的url

  • 如果您想从您描述的“应用程序根目录”开始,请右键单击顶级Default.aspx页面并选择set as start page。按F5键,就完成了


    如果您想从不同的控制器操作开始,请参阅Mark的答案。

    再次访问此页面,我有更多信息与其他人共享

    调试环境(使用Visual Studio)

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

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

    注意:在上述两种情况下,启动页面设置仅由Visual Studio开发服务器识别。您部署的服务器无法识别它

    部署的环境

    2a)要设置启动页面,假设您没有更改任何默认路由,请将/Views/Home/Index.aspx的内容更改为“Server.Transfer”或“Response.Redirect”到所需页面

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


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

    虽然您可以在MVC项目中使用默认页面,但默认视图更传统的实现方式是使用默认控制器,通过“registerOutes(…)”方法在global.asax中实现。例如,如果希望公共\家庭控制器成为默认路由/视图,则代码为:

        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
            );
    
        }
    

    要使此功能正常运行,您需要在项目中设置起始页。

    从项目属性中选择特定页并不能解决我的问题

    在MVC 4中打开App_Start/RouteConfig.cs

    例如,如果您想将启动页面更改为登录

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

    这在MVC的特定页面下对我有效:

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

    /
    

    @Mark-这里有一个很好的链接,可以更详细地描述流程-。我会把它写在你的答案中。请务必在第四步输入。使用[…]按钮选择将创建一个伪造的URL:DIf如果您只是在VS.NET 2010中测试和使用默认的MVC项目模板,只需清除起始页的任何值,然后调试您的项目。这将带您进入主“欢迎使用ASP.NET MVC!”页面。除上述步骤外,您还需要确保已正确选择启动项目(如果您有多个项目,仅设置默认页面是不够的)。在解决方案资源管理器中右键单击该项目,并将其设置为启动项目。然后,项目名称将在解决方案树中以粗体显示。@标记-在步骤4中,您可以将文本框留空,并确保选中“特定页面”单选按钮,它将在应用程序根目录下开始调试。这对MVC有效吗?对我来说,它试图启动ASPX页面,但没有路由。相关:回答很简单。但是要小心-如果您输入了与开始URL类似的内容,您仍然会收到无效的URL消息(即使当前未选择此项)。所以选择开始URL,删除其中的文本,然后将特定页面属性设置为上面提到的相对路径。。。这实际上在服务器上发布之后也能起作用(这不是公认答案的情况,至少对我来说不是这样),所以这是真正的好答案这是对这个问题最有效的答案。谢谢