2010-01-13 106 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

相關問題