Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么HTML助手类被称为HTML而不是HtmlHelper?_C#_Asp.net_Razor_Razorengine - Fatal编程技术网

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
的实例