如何在ASP.NET MVC5裡加入自訂的Html Helper | MVC Helper
ASP.NETMVC5內建的HtmlHelper提供的方法有限,當我們想要產生常用的標籤組合時,就必須利用多個Html標籤和HtmlHelper來完成。例如我需要個圖片時,就沒有@Html.Image方法可以使用;或者需要個圖片超連結時也沒有,這時候就可以自訂個簡單的Helper來協助。首先,我們先看看原本需要個圖片的時候怎麼在View上面撰寫。先準備測試用Controller,如下圖:然後在View裡產生img標籤來顯示圖片,如下圖:執行結果如下圖:雖然可以顯示圖片,但是這種組合標籤和程式的內容,如果經常性使用的話,不如就寫個自訂擴充的Helper方法來取代,將來產...
ASP.NET MVC5內建的Html Helper提供的方法有限,當我們想要產生常用的標籤組合時,就必須利用多個Html標籤和Html Helper來完成。例如我需要個圖片時,就沒有@Html.Image方法可以使用;或者需要個圖片超連結時也沒有,這時候就可以自訂個簡單的Helper來協助。
首先,我們先看看原本需要個圖片的時候怎麼在View上面撰寫。先準備測試用Controller,如下圖:
然後在View裡產生img標籤來顯示圖片,如下圖:
執行結果如下圖:
雖然可以顯示圖片,但是這種組合標籤和程式的內容,如果經常性使用的話,不如就寫個自訂擴充的Helper方法來取代,將來產生常用樣板的標籤時,就能用Helper的方法傳參數的方式來產生。
實作的方法需要撰寫個靜態類別,名字可以取個合理的即可,然後寫個靜態方法來擴充System.Web.Mvc.HtmlHelper,程式如下圖:
程式寫好編譯一下,接下來就可以在View裡面測試看看,如下圖:
執行結果如下圖:
若還需要其他屬性,例如想要圖片的提示文字,可以再加入title參數,程式如下圖:
在View裡面撰寫測試看看,如下圖:
產生的Html Source如下圖:
測試的結果如下圖:
利用自訂的Html Helper就能協助程式設計師產生Html的內容,尤其是常用樣板,只需要傳遞參數讓Helper產生即可,將來也能改成把ViewModel當參數傳進去,彈性就能更大了。