gpt4 book ai didi

asp.net-mvc-3 - "foreach"字符后出现意外的 "@"关键字

转载 作者:行者123 更新时间:2023-12-03 10:11:22 24 4
gpt4 key购买 nike

我在 Razor 中完成了部分 View 。当我运行它时,我收到以下错误 - Razor 似乎陷入了思考我正在到处编写代码的想法。

Unexpected "foreach" keyword after "@" character. Once inside code, you do not need to prefix constructs like "foreach" with "@"



这是我的观点:
@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>

您只需要一个 @如果你想把代码放在需要标记的地方,或者如果你想在任何地方写输出。

要将非类似标签的标记放在需要代码的地方,请使用 @:<text> .

关于asp.net-mvc-3 - "foreach"字符后出现意外的 "@"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com