ASP.NET MVC 你一定要知道怎麼創立HTML Helper
- 6628
- 1
ASP.NET MVC的測試如火如荼的在進行中,眼看RC版就要出來了,就在此時來介紹一個ASP.NET MVC的重要東西 HTML Helper(HTML助手),畢竟在MVC架構下不能用Web Control所以花點時間建立自己的HTML Helper,是可以大幅減少在開發的時間。
- 檔案名稱:ASP.NET MVC
- 官方網站:http://www.asp.net/mvc/

為什麼說HTML Helper是MVC架構下的一個重要東西呢?想想看,我們在撰寫一個頁面的時候如果需要一個日曆控制項,需要一個讓使用者輸入時間格式的控制項,在不使用.net內建的網頁控制項的時候要手動打造是不是還滿繁雜的,雖然說你或許可以花時間打造一個自己的日曆、時間選擇器出來後就從此以後複製貼上的使用,但是這不是一個很好的方法,透過了新的擴充方法Extension Methods 繼承到Helpers以後呼叫的方法會變得非常簡單且直覺,而官方也有相當多的文件可供我們學習
- MVC的Tutorials 文件Creating Custom HTML Helpers (使用C#)
- MVC的Tutorials 文件Creating Custom HTML Helpers (使用VB.NET)
- MVC的示範影片 觀看 (使用VB.NET)
demo也來實做一次官方的範例首先建立一個helper目錄來放我的將來製作的HTML Helper,然後新增一個class,類別名稱請自己命名一個你高興的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;//必須using MVC
namespace MvcTest.Helpers
{
public static class labelaa//開放、靜態 的類別
{
public static string Label123(this HtmlHelper helper, string text)//開放、靜態、的擴充方法
{
return "<label>" + text + "</label>";
}
}
}
然後我們只需要在view 繼承
<%@ Import Namespace=" MvcTest.Helpers" %>
就可以直接用HTML.Label123了

而產生出來的label就如下
<label>文字文字</label>
是不是相當的簡單,只需要製作一次就可以重複的使用或許擴充Label您感覺不出來它的好,其實這的重點是在擴充方法,建立一個擴充方法實在非常的簡單,所以千萬是不要忽略了它的使用,還是不知道擴充方法的好?給你一篇對岸的MVC 擴充你就知道有多好了...(連結觀看)
網友回應
- 電臨刀

- 發表於: 2011-11-18
- HI 很喜歡你的文章
不過在此文章中
在VIEW 繼承 MvcTest.Helpers的部分中
可以另外註明razor的方式為何喔~因為我卡到那個點了 哈哈
@using MvcTest.Helpers;
此外,建立類別之後 要先"建置"一下 才會成功...
3q
-
首先先謝謝你喜歡我的文章,因為這篇文章是在 MVC1 的時候寫的那時候還沒有 【Razor】所以沒有 Razor 相關的說明,往後如果有 MVC 的問題也歡迎一起交流
回覆於: 2011-11-18