gpt4 book ai didi

c# - 如何使用 asp-for 标记绑定(bind)数组?

转载 作者:行者123 更新时间:2023-12-04 11:17:27 24 4
gpt4 key购买 nike

请问,如何在Asp.NET Core MVC 中绑定(bind)数组?

<input type="text" asp-for="Requests[@index].Name" />

它在旧版本的 ASP MVC 中运行良好。
此示例显示“内部服务器错误”。

“在编译处理此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。”

ViewModel 类示例:
public class ViewModel
{
public List<Model> Requests {get;set;}
}

模型类示例:
public class Model
{
public string Name {get;set;}
}

它应该如何工作?在您提交带有这些输入的表单后,MVC 应该自动创建并映射 ModelView 中的列表。这就是它在 ASP.NET MVC 4 中的工作方式。

最佳答案

您需要使用带有 asp-for 的有效表达式可以编译,基本上如果index是一个你在 for 循环中使用的变量,那么你会写 <input asp-for="@Model.Requests[index].Name" />
完整示例(我使用 i 作为循环变量而不是 index ):

@model MyProject.TodoItemList

<ul>
@for (int i = 0; i < Model.Requests.Count; i++)
{
<li>
<label asp-for="@Model.Requests[i].Name"></label>
<input asp-for="@Model.Requests[i].Name"/>
@* Or the old html helpers if you prefer
@Html.DisplayFor(model => model.Requests[i].Name)
*@
</li>
}
</ul>

有关更多信息,请查看 the docs 中的表达式名称和集合

关于c# - 如何使用 asp-for 标记绑定(bind)数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41873171/

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