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

如何在应用程序根目录下开始调试应用程序? 例如: 翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳 http://localhost:49742/

我总是看到一个不存在的页面,比如: Http://localhost:49742/views/home/about.aspx

注意,从 本地主机: 49742/视图/主页/关于 rel = “ norefrer”> http://localhost:49742/views/home/about开始是可以的

153426 次浏览

转到项目的属性并设置起始页属性。

  1. 转到该项目的 物业
  2. 转到 韦伯选项卡
  3. 选择 特定网页单选按钮
  4. 特定网页文本框中键入所需的 URL

如果你想像你描述的那样从“ application root”开始,右键点击顶层的 Default.aspx 页面,选择 set 作为开始页面。按 F5你就完了。

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

重新访问这个页面,我有更多的信息与其他人分享。

调试环境(使用 VisualStudio)

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

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

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

部署环境

2a)设置启动页面,假设你没有更改任何默认路由,更改/Views/Home/Index.aspx 的内容以执行“ Server。转移”或“回应”。“重定向”到所需的页面。

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

读者还知道其他的选择吗?以上哪一个(包括您自己的选择)将是您的首选解决方案(请与我们分享为什么) ?

虽然您可以在 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
);


}

为了实现这个功能,您需要在项目中拥有一个设置好的起始页。

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

在 MVC 4中打开 App _ Start/RouteConfig.cs

例如,如果要将启动页面更改为 登陆:

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

这对我来说在 MVC 的特定页面下工作:

/Home/Index

更新: 目前,我只是在“特定页面”文本框中使用了一个正斜杠,它会把我带到路由中定义的主页:

/