[ASP Net MVC] 集中管理View所使用的Namespace

集中管理View所使用的Namespace

前言

 

使用Razor語法來設計View時,常透過HtmlHelper來產出對應至ViewModel的Html控制項。當HtmlHelper無法滿足需求時,往往會自行新增擴充方法(Extension Method),如此即可享受Visual Studio中Intellisense所帶來的好處,自動列出所有自訂擴充項;此時還有一個重要的動作就是需加入該擴充功能類別所屬的Namespace於View中否則Visual Studio是無法將自行定義的擴充方法自動列出,因此許多人會直接在View中使用@using來加入Namespace。

 

換個角度思考一下,會想要自行定義擴充功能一定表示該功能是很實用且微軟尚未提供,也表示希望共同開發人員可以多加利用,此時應該就不該奢求(期待)開發人員自行在View精確地使用@using來加入該Namespce,反而是需要在另一個地方集中管理共同使用的Namespace讓所有View中都可以直接使用到HtmlHelper自訂擴充方法來開發,而這個地方就在View/Web.config,以下將簡單說明Namespace加入方式。

 

 

實作方式

 

做法很簡單,直接在View/Web.config中加入Namespace,如此所有View都可以使用到該Namespace中提供的所有公開方法(擴充方法);另外也避免在每個View中重複性使用@using加入Namespace的虛功。

 

image


希望此篇文章可以幫助到需要的人

若內容有誤或有其他建議請不吝留言給筆者喔 !