2012年8月30日 星期四

ASP.Net MVC – Razor的@helper 及 語法

在Razor的寫法裡,有很方便的@helper 及 @functons 語法,竟然有什麼好處呢?

@helper 是指預先編譯,會讓第一次網站執行時比較快速外。
有時後View需要做一些動作,剛好這個動作就是很多View會用都的,我們就可以考慮用@helper的方法來寫。

例如,View或許會重覆用到引用script的寫法,若要弄成一個共用的method,只要傳入script name即可,我們可以這樣做:

原本 Index.cshtml 是長這樣:


在 Index.cshtml 裡我新增 @helper Script(string scriptName) ,這個意思就是可以把。Script這個Method放入 @helper 裡面,以後要用Script這共用的方法時,只要@Script 就可以了喔!



以上的方法只有Index.cshtml可以自己用的很爽,但不能給其他的View共用。要怎麼辦呢?

在方案總管那新增App_Code目錄,再新增項目中選 Razor檢視頁面的型態。





在新增的Content.cshtml裡,先刪掉原有的預設tag,再把  @helper Script(string scriptName) 的內容移到Content.cshtml裡。


Index.cshtml在使用的時後,必須小改一下,只要改入App_Code目錄下的Content.cshtml的檔名即可。像這樣:



真是太好了,這樣大家就可以用了喔!

至於 @functons 只是有一點點不一樣,可以參考Razor 學習筆記 - @functions 和 @helper

這裡還有更多大師的教學喔!

沒有留言:

張貼留言