MVC html中的那些@方法是什么?

时间:2017-10-04 10:08:37

标签: html asp.net-mvc

所有那些......命令(?)或方法(?)或某些东西......以使用MVC构建的页面的html代码中的@开头。究竟是什么?他们有一个特定的名称,所以我可以搜索他们的文档页面或类似的东西吗?

例如:

 @model MyImdb.ViewModels.MovieCreateViewModel

 <!--- ... some lines ... --->
 @{
      ViewBag.Title = "Create"; 

 }

 <!--- ... some lines ... --->

 @using (Html.BeginForm()) { @Html.AntiForgeryToken()

 <!--- ... some lines ... --->

 @Html.LabelFor(model => model.Title, htmlAttributes: new { @class = "control-label col-md-2" })

<!--- ... some lines ... --->

@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } })

<!--- ... some lines ... --->

<div> 
    @Html.ActionLink("Back to List", "Index")
</div>

1 个答案:

答案 0 :(得分:1)

View中的

@基本上意味着剃刀代码从这里开始,这是用asp.net mvc中的c#编写的。

它有多种用途,具体取决于它在视图中的使用位置,例如在视图的第一行,它只是指定视图与Model / ViewModel的绑定,以告诉它预期的数据类型

如果我们向下移动,那么用它来编写C#语句并调用Helper方法生成html字符串,并在浏览器中呈现它。

作为一个例子,当您编写@Html.ActionLink("Back to List", "Index")时,ActionLink方法将返回由razor视图引擎呈现为html的Html字符串,因此在这种情况下,它将是锚标记,如<a href="/Index">Back To List</a>

This blogpost可能对您有所帮助,也可以查看this blogpost

以下是razor官方文档的链接(感谢@Stephen Muecke在评论中提到这一点):

https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor

希望它给你一些想法。