一、HTML辅助方法是什么?
HTML辅助方法简介:除了之前使用标签来提交表单数据外,还可以通过视图的Html属性调用HTML辅助方法。
- HTML辅助方法介绍
HTML辅助方法(HTML Helper) 是用于辅助产生HTML的一组系统方法。使用HTML辅助方法能够帮助产生HTML标签和内容,以提高视图的开发速度,避免不必要的语法错误。HTML辅助方法封装在HtmlHepler类中,同时提供多个重载版本,以适应不同开发需求。 - HTML辅助方法工作原理
每一个Razor视图都继承了它们基类的Html属性。Html 属性的类型是System.Web.Mvc .HtmlHelper,这里的T是一个泛型类型的参数,代表传递给视图的模型类型(默认是dynamic)。这个属性提供了一些可以在视图中调用的实例万法,比如EnableClientValidation (选择性地开启或关闭视图中的客户端验证)。但事实上,框架定义的大多数辅助方法都是扩展方法。
在智能感知窗口中,当方法名称左边有一个向下的箭头时,就说明这个方法是一个扩展方法。比如Action()方法就是一个扩展方法,如图所示。
二、扩展方法
为了构建HTML辅助方法体系,可以使用扩展方法。扩展方法是一种极其美妙的构建方式,。
这主要有两个原因:
- C#的扩展方法只有在它的名称空间范围内才能被调用:
- ASP.NET MVC所有的HtmlHelper扩展方法都在System. Web. Mvc Html名称空间中(这源于文件Views/Web .config中使用的一个名称空间条目,默认情况下都在该名称空间中)。如果不喜欢这些内置的扩展方法,可以删除这个名称空间,从而构建自己的方法。