我用剃刀完成了部分视图。当我运行它时,我收到以下错误 - 似乎 Razor 一直认为我在到处编写代码。
“@”字符后出现意外的“foreach”关键字。一旦进入代码,您不需要在“foreach”之类的结构前添加“@”
这是我的观点:
@model IEnumerable<SomeModel>
<div>
@using(Html.BeginForm("Update", "UserManagement", FormMethod.Post)) {
@Html.Hidden("UserId", ViewBag.UserId)
@foreach(var link in Model) {
if(link.Linked) {
<input type="checkbox" name="userLinks" value="@link.Id" checked="checked" />@link.Description<br />
} else {
<input type="checkbox" name="userLinks" value="@link.Id" />@link.Description<br />
}
}
}
</div>
在你的里面using
块,Razor 需要 C# 源代码,而不是 HTML。
因此,你应该写foreach
没有@
.
在 HTML 标签内,Razor 需要标记,因此您可以使用@
.
例如:
<div>
<!-- Markup goes here -->
@if (x) {
//Code goes here
if (y) {
//More code goes here
<div>
<!-- Markup goes here -->
@if (z) { }
</div>
}
}
</div>
你只需要一个@
如果您想将代码放在需要标记的位置,或者您想在任何地方写入输出。
要将非类似标记的标记放在需要代码的位置,请使用@:
or <text>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)