2010-01-13 85 views
1

我有一个ASP.NET WebForms应用程序,我试图切换到新开发的MVC。我通常会遵循this tutorial加上Google和堆栈溢出。该设置“很容易”,但由于某种原因,我似乎无法得到第一个MVC控制器/视图出现。向ASP.NET WebForms应用程序添加MVC时遇到的问题

我的第一个想法是,我有一个路由问题,所以我安装了this nifty routing debugger。我得到了这个工作,并用我的路由设置玩了一下。最后,我去核并设置以下为我的整个路由方案:

routes.MapRoute("Default", 
    "{*catchall}", 
    new { controller = "Home", action = "Index", id = "" } 
); 

RoutingDebug表明路由确实工作:当我浏览到“/ APPNAME /富”(其中“/应用程序的名字”是我的项目的虚拟路径;我现在使用的是ASP.NET开发服务器),我的(第一个)catchall路由和我的控制器/操作的Home/Index得到了一个“True”结果。

但是,当我关闭RoutingDebug时,我没有得到Home/Index视图;此外,任何时候我导航到遗留的.aspx页面(无论是否带有RoutingDebug活动),我都会从传统页面获取内容(我期望从路由捕获每个URL后获得视图)。

因此,它看起来像我,而路由工作,实际的“MVC部分”未被正确激活。我相信我正确地遵循了教程,所以我不知道怎么回事。我怎样才能确定问题是什么?我应该检查什么东西?

+0

更多信息在Hanselman.com:http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx – 2010-01-13 23:24:19

回答

1

我知道这并不直接回答你的问题,但你有没有尝试过开关?创建一个全新的MVC应用程序并导入所有现有文件。我们通过迁移实现了这一点,并且我们发现它比尝试将MVC引入现有的WebForms应用程序要简单得多。

+0

是的,这是一个好主意,也不应该太难。 – 2010-01-14 01:32:58

相关问题