我正在使用一个包含列表作为属性的模型。我正在用从 SQL Server 中获取的项目填充此列表。我希望列表隐藏在 View 中并传递给 POST 操作。稍后我可能想使用 jQuery 将更多项目添加到此列表,这使得数组以后不适合扩展。通常你会使用
@Html.HiddenFor(model => model.MyList)
完成此功能,但由于某些原因,POST 中的列表始终为空。
非常简单的问题,有人知道为什么 MVC 会这样吗?
最佳答案
我刚刚遇到这个问题并通过执行以下操作简单地解决了它:
@for(int i = 0; i < Model.ToGroups.Count; i++)
{
@Html.HiddenFor(model => Model.ToGroups[i])
}
通过使用 for
而不是 foreach
模型绑定(bind)将正常工作并在列表中选取所有隐藏值。似乎是解决此问题的最简单方法。
关于c# - @Html.HiddenFor 不适用于 ASP.NET MVC 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385286/