iT邦幫忙

DAY 18
0

在錯誤中學習ASP.NET MVC系列 第 18

認識View - 自訂與擴充Helper

  • 分享至 

  • xImage
  •  

Razor提供了很多好用的Helper,但還是沒辦法滿足所有專案的需求,所以這篇就來介紹如何自訂以及擴充Helper,下面以新增<h5>標籤為例。

自訂全站共用的Helper

專案按右鍵加入App_Code資料夾

App_Code資料夾按右鍵加入檢視,並將檔名輸入成你想要用的helper名稱

使用@helper 方法名稱,定義自己的方法以及傳入的參數

在一般檢視裡就可以叫用囉,@自訂的Helper名稱.自訂的方法,編輯完記得重建方案,這樣在檢視裡面才叫用得到。

是說<h5>就算自己打也還蠻快的啦,不過有時候套用設計師的版的時候就會想殺人,例如:

<div class="headline">
  <h5>Title</h5>
</div>

只要每次用到<h5>外面就一定要多加<div>包起來,就不可能每次都自己打html了吧,要是以前我應該是不會乖乖打,只是會一直複製貼上而已XD,但透過自訂的Helper就能輕鬆解決這個問題了,而且寫法很簡單,使用起來也很方便。

擴充Helper

再來如果想要擴充HtmlHelper要怎麼做呢,以上面的例子來改寫
請在專案下新增一個"Helpers"的資料夾,不叫這名字也沒關係,主要是要存放相關的Helper類別

修改成靜態類別,再來宣告靜態的方法,回傳型別是MvcHtmlString,而且第一個參數一定要宣告this HtmlHelper型別,但呼叫的時候不需要傳入

在View裡面叫用剛剛宣告的擴充方法,記得要using命名空間,然後使用@Html.自定義的方法,如果想要顯示方法以及參數的說明請參考這篇,使用文件註解標籤。

若是遇到需要動態產生html的情況可以使用TagBuilder來建立html

如果覺得每個View都要using自訂的hepler命名空間太麻煩,可以參考這篇的Web.config設定。


上一篇
認識View - Helper
下一篇
認識View - 合併與最佳化CSS/JS檔案
系列文
在錯誤中學習ASP.NET MVC30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言