我有一个ASP.NET WebForms应用程序,我正在尝试切换到MVC进行新开发。我通常关注this tutorial以及Google和Stack Overflow。设置一直很“简单”,但出于某种原因,我似乎无法获得第一个MVC控制器/视图。
我的第一个想法是我的路由有问题,所以我安装了this nifty routing debugger。我得到了这个工作,并玩弄了我的路由设置。最终我去核并将以下内容设置为我的整个路由方案:
routes.MapRoute("Default",
"{*catchall}",
new { controller = "Home", action = "Index", id = "" }
);
RoutingDebug建议路由确实有效:当我导航到“/ appname / foo”(其中“/ appname”是我项目的虚拟路径;我现在正在使用ASP.NET开发服务器),我得到了我的(第一个)捕获路线的“真实”结果,以及我的控制器/动作的主页/索引。
然而,当我关闭RoutingDebug时,我没有得到Home / Index视图;相反,我得到一个404.此外,每次我导航到遗留.aspx页面(有或没有RoutingDebug活动)我从遗留页面获取内容(我希望得到视图,因为路由捕获每个URL)。 / p>
因此,在我看来,路由工作时,实际的“MVC部件”没有被正确激活。我相信我正确地遵循了教程,所以我无法解释出现了什么问题。如何确定问题所在?我应该检查什么?
答案 0 :(得分:1)
我知道这并没有直接回答你的问题,但是你试过转动开关吗?创建一个全新的MVC应用程序并导入所有现有文件。我们通过迁移实现了这一点,我们发现它比尝试将MVC线程化到现有的WebForms应用程序要简单得多。