先看示例代碼:javascript
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Routing; 7 8 namespace MvcApplicationWeb 9 { 10 public static class HtmlExtensions 11 { 12 public static MvcHtmlString TestHtml(this HtmlHelper htmlHelper) 13 { 14 return MvcHtmlString.Create("<div style='font-size:18px;'>MyTestHtmlHelper</div>"); 15 } 16 17 public static string TestHtml(this HtmlHelper htmlHelper, string value) 18 { 19 return String.Format("<div>{0}</div>", value); 20 } 21 22 public static MvcHtmlString JSHtml(this HtmlHelper htmlHelper) 23 { 24 return MvcHtmlString.Create("<script type=\"text/javascript\">alert('JSHtmlTest');</script>"); 25 } 26 27 public static string Label(this HtmlHelper helper, int target, string text) 28 { 29 TagBuilder tagBuilder = new TagBuilder("label") 30 { 31 InnerHtml = target.ToString() 32 }; 33 tagBuilder.MergeAttribute("for", text); 34 return tagBuilder.ToString(TagRenderMode.Normal); 35 } 36 } 37 }
上面是擴展類的代碼,類名要寫成XXExtensions,否則不能在前臺使用的。html
上面自定義了三個控件,若是返回是MvcHtmlString 將會在頁面已HTML形式顯示,若是返回是string就會已字符顯示java
同時能夠用TagBuilder來構建HTMLmvc
前臺代碼以下:app
1 @using MvcApplicationWeb; 2 @{ 3 ViewBag.Title = "主頁"; 4 } 5 @section featured { 6 <section class="featured"> 7 <div class="content-wrapper"> 8 <hgroup class="title"> 9 <h1>@ViewBag.Title.</h1> 10 <h2>@ViewBag.Message</h2> 11 </hgroup> 12 <p> 13 若要了解有關 ASP.NET MVC 的詳細信息,請訪問 14 <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>。 15 該頁提供 <mark>視頻、教程和示例</mark> 以幫助你充分利用 ASP.NET MVC。 16 若是你對 ASP.NET MVC 有任何疑問,請訪問 17 <a href="http://forums.asp.net/1146.aspx/1?MVC" title="ASP.NET MVC Forum">咱們的論壇</a>。 18 </p> 19 </div> 20 </section> 21 } 22 <h3>下面是咱們的建議:</h3> 23 @Html.TestHtml() 24 @Html.TestHtml("TestHtml") 25 @Html.JSHtml() 26 @Html.Label(1,"2")
前臺注意的就是要引用命名空間!asp.net