在.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
时间: 2024-10-08 10:29:27