在.net MVC中經常會見到特別的寫法比如@Url.Action( )@Url.Conyent()@Html.Displayfor()等等這些 寫法就是我們這裡要講的 Helper Methods 幫助方法,他們幫助乾什麼呢,也就是他們的主要用途在哪裡呢?他們主要用於在一定的邏輯下 生成html標...
在.net MVC中經常會見到特別的寫法 比如 @Url.Action( ) @Url.Conyent( ) @Html.Displayfor( )等等 這些 寫法就是我們這裡要講的 Helper Methods 幫助方法,他們幫助乾什麼呢,也就是他們的主要用途在哪裡呢? 他們主要用於在一定的邏輯下 生成html標簽 ,以及代碼。
內嵌式的helper methods 上面的這些helper methods是mvc框架內建的一些幫助方法,我們也可以創建我們自己的幫助方法,創建的方式分為兩類: 內嵌式的外部形式的。 創建內嵌式的寫法如下 看上去和普通的C#方法很相似,但有一點不一樣,內嵌helper methods是不存在返回值的,他們直接輸出標簽結果到response流中。 使用的時候同樣也很簡單 這樣子的話輸出結果就會被加粗輸出來了,使用helper Methods的好處在於可以免去在view頁面上存在許多重覆的標簽 和代碼。 我個人是很不喜歡的,我寧願多寫點標簽,而不願意去浪費這個這個腦容量,但是看到這寫寫法還是要認識的。
外部Helper Methods 外部的幫助方法就是擴展 框架中的HtmlHelper類以及其他helper類 返回 MVCHtmlString 再由框架自行解析,也就是針對這些類編寫的一些擴展方法。
public static class CustomHelpers { public static MvcHtmlString ListArrayItems(this HtmlHelper html, string[] list) { TagBuilder tag = new TagBuilder ("ul" ); foreach (string str in list) { TagBuilder itemTag = new TagBuilder ("li" ); itemTag.SetInnerText(str); tag.InnerHtml += itemTag.ToString(); } return new MvcHtmlString (tag.ToString()); } }這裡是通過TagBuilder來拼接html串,最後 返回一個MVCHtmlString對象即可。 使用的時候 @using添加一下引用就可以用了 @Html.ListArrayItems((string[])ViewBag.Fruits) 同樣很簡單,這個貌似相比內嵌式的helper還是蠻有用的。
這裡就暫時介紹下 .net mvc helper Methods的基礎由來。 喜歡的話就推薦一下吧,謝謝n(*≧▽≦*)n