【发布时间】:2012-02-09 12:16:09
【问题描述】:
我正在开发一个混合了 MVC 的 Web 表单 Web 应用程序。我已按照此页面http://www.packtpub.com/article/mixing-aspnet-webforms-and-aspnet-mvc 中的说明进行操作,它在 VS2010 开发人员服务器中运行良好,但是当我尝试将其发布到启用 MVC 的 IIS 6 浏览器时,登录后不会自动重定向到 default.aspx,我收到 404 错误应用程序的根目录。
我的 Global.asax.cs 看起来像这样:
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
}
如果我在 Application_Start 方法中注释掉对 RegisterRoutes 的调用,则自动重定向到 default.aspx 有效,但 MVC 部分失败。
我需要一些关于如何设置路由以启用自动重定向到 default.aspx 的帮助,同时启用 MVC 路由。 MVC 部分位于特定路径下,如下所示:myserver/applicationname/mvcparts。
Asp.Net MVC 3 安装在我发布的开发人员机器和服务器上。
【问题讨论】:
-
澄清:所有直接访问带有扩展名的页面(page.aspx(网络表单))都可以正常工作。登录后,浏览器会显示 myserver/myApplication 而不是 myserver/myApplication/default.aspx,就像在我的开发人员机器上那样。这是我得到 404 的地方。当我更新 url 以指向 default.aspx 或其他 aspx 页面时,一切都很好。
标签: asp.net-mvc webforms asp.net-mvc-routing webforms-routing