最初這將是一個問題,如何執行任務,但現在它已成爲最佳實踐問題。爲什麼MVC中Controller類的TryUpdateModel受到保護?
我正在使用MVC(對它還是新的),我試圖創建一個任何控制器可以調用的方法,它將運行一個通用的功能。在該方法中,我需要運行控制器的TryUpdateModel方法。這是我遇到了障礙的地方 - 除非方法在控制器中,否則我無法執行此操作,因爲TryUpdateModel由於其保護級別而無法訪問 - 它被標記爲「受保護」。如果我必須使這種方法對每個控制器都是私有的,那麼它將首先破壞方法的全部目的,並且我會複製粘貼很多代碼。
所以我想知道,爲什麼這種方法保護?當然,我一定會錯過顯而易見的東西。 (並請做棚燈)
我最終在創建自己的基類控制器類的控制器類時做了些什麼。這個新的類包含我需要的所有控制器通用的方法。現在我的控制器繼承自我構建的這個新的控制器類,而這個控制器類繼承自基礎控制器類。它運作良好,似乎很適合模型。
我的問題是 - 對於那些經常使用MVC的人來說,這是一個壞模式嗎?採取這樣一箇中心階級並且自己動手並使用它通常是一個糟糕的主意?
描述你想要做將有助於人們理解這個問題更好 – gideon 2011-04-16 18:57:00