【发布时间】:2009-08-26 07:46:37
【问题描述】:
如何在应用程序根目录开始调试应用程序?例如:http://localhost:49742/
我总是得到一个不存在的页面,例如: http://localhost:49742/Views/Home/About.aspx
开始【问题讨论】:
标签: asp.net-mvc
如何在应用程序根目录开始调试应用程序?例如:http://localhost:49742/
我总是得到一个不存在的页面,例如: http://localhost:49742/Views/Home/About.aspx
开始【问题讨论】:
标签: asp.net-mvc
转到项目的属性并设置起始页属性。
【讨论】:
虽然您可以在 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
);
}
要使其正常运行,您需要在项目中设置一个起始页。
【讨论】:
这适用于 MVC 的特定页面:
/Home/Index
更新:目前,我只是在“特定页面”文本框中使用正斜杠,它会将我带到路由中定义的主页:
/
【讨论】:
从项目属性中选择特定页面并不能解决我的问题。
在 MVC 4 中打开 App_Start/RouteConfig.cs
例如,如果您想将启动页面更改为登录:
routes.MapRoute(
"Default", // Route name
"", // URL with parameters
new { controller = "Account", action = "Login"} // Parameter defaults
);
【讨论】:
如果您想从描述的“应用程序根目录”开始,请右键单击顶级 Default.aspx 页面并选择设置为起始页面。按 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 中的默认路由更改为所需页面。
还有其他读者知道的选项吗?以上哪一项(包括您自己的选择)是您首选的解决方案(请与我们分享原因)?
【讨论】: