我有一个在 ASP.NET 4.0 中开发的现有 Web 应用程序。我想将 MVC 功能添加到应用程序中,因此我已根据 Scott Hanselman 的文章将 MVC 集成到应用程序中,将 ASP.NET MVC 3 集成到现有的升级后的 ASP.NET 4 Web 窗体应用程序中。因为 MVC 路由是贪婪的,所以我将以下代码添加到我的 Global.asa 中,以便一个空 URL 将转到我的 Default.aspx:
routes.MapPageRoute("WebFormsDefault", "", "~/Default.aspx");
现在的问题是 ActionLinks 和 RouteLinks 没有正确形成。如果我尝试使用以下方法创建操作链接:
@Html.ActionLink("Item List Page", "List", "Item")
创建以下 URL:
"/SiteName/?action=List&controller=Item
我从其他人那里找到了几个有同样问题的帖子,但没有一个有任何答案。这只是一个错误吗?一般来说,将 MVC 集成到 WebForms 应用程序中只是一个坏主意吗?或者有没有办法解决这个问题,以便在用户首次进入站点时显示我的 Default.aspx 页面并且 ActionLinks 和 RouteLinks 将正常工作?