我正在開發一個Web應用程序。我的一位同事寫了一些asp.net表單頁面。頁面類都從BasePageClass
繼承,這當然是繼承Page
類。我希望添加一些我聽說過的MVC控制器需要使用BasePageClass
中實現的相同邏輯。通常,我想繼承控制器類中BasePageClass
中的函數,但這會打破繼承層次結構。混合asp.net Forms和MVC應用程序中的頁面繼承
解決此問題的最佳做法是什麼?
我正在開發一個Web應用程序。我的一位同事寫了一些asp.net表單頁面。頁面類都從BasePageClass
繼承,這當然是繼承Page
類。我希望添加一些我聽說過的MVC控制器需要使用BasePageClass
中實現的相同邏輯。通常,我想繼承控制器類中BasePageClass
中的函數,但這會打破繼承層次結構。混合asp.net Forms和MVC應用程序中的頁面繼承
解決此問題的最佳做法是什麼?
如果有共同的功能,我會懷疑這個功能應該從頁面/控制器中分離出來。這是更好的OOP/D。然後,您的控制器基頁和您的System.Web.UI.Page基本都可以都具有返回包含此常用功能的類的屬性。
(我見過很多情況,其中的東西塞進基本頁面應該在其他地方。您對頁面和控制器中的這個功能的需求可能只是讓這個糟糕的設計變得輕盈, 。不是作爲本身就是一個問題)
不太可能是你想要的,但仍然是一個可能性:
帕特里克,我想知道你在哪裏看到了所有那些塞進基本頁面的東西...... – 2010-05-27 16:07:45
請勿使用BasePageClass。使用母版頁。 – 2010-05-27 15:33:49
爲了澄清,還有一個母版頁也使用,但一些頁面的通用邏輯也在BasePageClass中。 – 2010-05-27 15:35:39