2012-07-05 68 views
18

我有一個現有的ASP.NET WebForms 3.0應用程序,它工作得很好。我將它升級到ASP.NET 4,它仍然很好,但現在我想爲它添加一些ASP.NET MVC頁面。我不想重寫應用程序。如何在ASP.NET中混合使用WebForms和MVC

有什麼建議嗎?我可以混合他們嗎?如何工作?任何教程對我來說?

回答

8

看看斯科特Hanselman的博客文章就這一話題:

Integrating ASP.NET MVC 3 into existing upgraded ASP.NET 4 Web Forms applications

+0

這個建議可能是與陳舊ASP.NET 4.我在尋找,但還沒有找到它。我知道斯科特現在談論微軟現在如何建議在同一個項目中將它們混合在一起。 我認爲他的文章可能仍然有效 - 這絕對值得一試。但MVC 4改變了有關Web項目初始化的一些事情,所以他的舊博客文章可能會在幾個地方被打破。 –

4

就不得不提到這行代碼在MVC應用程序的Global.asax文件。

routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}"); 

這將禁用MVC路由延期的文件的.aspx

+0

感謝所有~~對我來說很有用。但我如何在Asp.net webform應用程序中調用MVC應用程序頁面? 因爲Url鏈接和Html鏈接在.net html頁面下無效.. 任何例子..? – user1478501

+0

用此更新您的問題... – IrishChieftain

+1

您可以在錨鏈接中使用'<%= ResolveUrl(「〜/ {controller}/{action} /」)%>'。帶有您的控制器名稱的{控制器}和{動作}與您的動作名稱。例如:'<%= ResolveUrl(「〜/ home/index /」)%>' –