C# 为什么HTML助手类被称为HTML而不是HtmlHelper?
我找到了C# 为什么HTML助手类被称为HTML而不是HtmlHelper?,c#,asp.net,razor,razorengine,C#,Asp.net,Razor,Razorengine,我找到了HtmlHelper类的文档,让我吃惊的是,它在asp.net代码中被用作: @Html.Action("Contact me","contact"); 而不是 @HtmlHelper.Action("Contact me","contact"); 由于文档将HtmlHelper作为类的名称,那么为什么我们只将其作为Html使用呢?类似于Model变量在视图中的可用方式-即使您自己没有直接定义Model变量-Razor正在生成一个类,该类提供您的类的这些实例cshtml文件范围内的模
HtmlHelper
类的文档,让我吃惊的是,它在asp.net代码中被用作:
@Html.Action("Contact me","contact");
而不是
@HtmlHelper.Action("Contact me","contact");
由于文档将
HtmlHelper
作为类的名称,那么为什么我们只将其作为Html
使用呢?类似于Model
变量在视图中的可用方式-即使您自己没有直接定义Model
变量-Razor正在生成一个类,该类提供您的类的这些实例cshtml文件范围内的模型类型和HtmlHelper
。它在该类上生成一个方法,该方法根据cshtml文件的内容编写HTML
Model
是由@Model
指令指定的类型的实例,在调用生成的方法时,该指令在cshtml文件的范围内提供,并已作为一个操作中的视图
方法的参数传递
Html
是类型为HtmlHelper
的实例,由生成的类在csthml文件的范围内提供
Url
是类型为UrlHelper
的实例