Я нашел эту документацию для класса HtmlHelper
, что меня удивило, было использовано в коде asp.net как:
@Html.Action("Contact me","contact");
вместо
@HtmlHelper.Action("Contact me","contact");
Поскольку в документации есть HtmlHelper
как имя класса, то почему мы используем его только как Html
?
Подобно тому, как переменная Model
доступна внутри вашего представления - даже если вы сами не определили Model
самостоятельно - Razor генерирует класс, который предоставляет эти экземпляры вашего типа модели и HtmlHelper
в объеме вашего файла cshtml. Он генерирует метод для этого класса, который пишет HTML в соответствии с содержимым вашего файла cshtml.
Model
представляет собой экземпляр типа, указанное @model
директивы, представленный в рамках вашего файла cshtml когда сгенерированный метод вызываются и, был принят в качестве аргумента View
метода в одном из ваших действий.
Html
- это экземпляр типа HtmlHelper
, предоставляемый в объеме вашего файла csthml сгенерированным классом.
Url
- это экземпляр типа UrlHelper
.