ASP.NET的代碼隱藏文件
ASP.NET MVC默認仍然使用WebFormsViewEngine。當使用Visual Studio向ASP.NET MVC應用程序增加一個WebForms視圖時會自動增加一個代碼隱藏文件和一個設(shè)計器文件。許多人認為代碼隱藏文件已經(jīng)被廢棄了,它們的用法頗令人困惑,因為開發(fā)人員傾向于使用像傳統(tǒng)的合而為一的ASP.NET Web窗體那樣的視圖。
Steve Smith更進一步的表明ASP.NET MVC Codebehind文件的壞處,因為他們引誘開發(fā)人員將邏輯添加到視圖上,視圖在設(shè)計上應當保持“啞的”。
代碼隱藏文件是一個誘惑。對于不熟悉ASP.NET MVC (ASP.NET MVC還不到一年時間而且還沒有發(fā)布)但是有Web窗體開發(fā)背景(大多數(shù))的開發(fā)人員,他們始終有一個將代碼寫入隱藏代碼文件傾向。這會使得在視圖里的邏輯難以測試,最壞的可能是甚至在代碼隱藏文件中包含的邏輯直接調(diào)用數(shù)據(jù)庫或者是web service,以致完全繞過模型同視圖的分離。
Steve解釋了在某種情況下代碼隱藏文件是一個不好但卻必不可少的東西,例如你想在一個強類型的視圖通過強類型方式引用模型(Model)。有寫人認為隱藏代碼頁也可用來存儲一些視圖邏輯,而其他方式可能會弄亂ASPX文件。***但并不是最不重要的一點是他們?yōu)榱嗽贏SPX文件上獲得智能提示技術(shù)的支持。至于***個問題,Tim Barcz演示了如何使用沒有代碼隱藏使用強類型的ViewData,通過合并泛型的CLR表示法來取代C#或者VB的表示法。
【編輯推薦】