所有那些......命令(?)或方法(?)或某些东西......以使用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>
答案 0 :(得分:1)
@
基本上意味着剃刀代码从这里开始,这是用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
希望它给你一些想法。