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
请注意,可以从开始转到项目的属性并设置“起始页”属性
如果您想从您描述的“应用程序根目录”开始,请右键单击顶级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,删除其中的文本,然后将特定页面属性设置为上面提到的相对路径。。。这实际上在服务器上发布之后也能起作用(这不是公认答案的情况,至少对我来说不是这样),所以这是真正的好答案这是对这个问题最有效的答案。谢谢