为什么HTML帮助程序类被称为Html而不是HtmlHelper?

时间:2014-06-08 17:00:18

标签: c# asp.net razor razorengine

我找到HtmlHelper类的this文档,令我感到惊讶的是,它在asp.net代码中被用作:

@Html.Action("Contact me","contact");

而不是

@HtmlHelper.Action("Contact me","contact");

由于文档的名称为HtmlHelper,为什么我们仅将其用作Html

1 个答案:

答案 0 :(得分:2)

类似于Model变量在您的视图中可用的方式 - 即使您没有自己直接定义Model变量 - Razor正在生成一个类,它提供了这些变量的实例您的cshtml文件范围内的模型类型和HtmlHelper。它在该类上生成一个方法,该方法根据cshtml文件的内容写入HTML。

Model是由@model指令指定的类型的实例,当调用生成的方法并作为参数传递给{{1}时,在cshtml文件的范围内提供你的一个行动中的方法。

ViewHtml类型的实例,由生成的类在csthml文件的范围内提供。

HtmlHelperUrl类型的实例。