小编典典

@ Html.HiddenFor不适用于ASP.NET MVC中的列表

c#

我正在使用一个包含List作为属性的模型。我正在用我从SQL
Server获取的项目填充此列表。我希望将列表隐藏在视图中并传递给POST操作。稍后,我可能想使用jQuery向此列表添加更多项,这使得数组不适合稍后扩展。通常你会用

@Html.HiddenFor(model => model.MyList)

以完成此功能,但由于某种原因,POST中的List始终为空。

很简单的问题,有人知道为什么MVC会这样吗?


阅读 458

收藏
2020-05-19

共1个答案

小编典典

我刚刚遇到了这个问题,只需执行以下操作即可解决该问题:

@for(int i = 0; i < Model.ToGroups.Length; i++)
{
    @Html.HiddenFor(model => Model.ToGroups[i])
}

通过使用for而不是foreach,模型绑定将正常工作,并选择列表中的所有隐藏值。似乎是解决此问题的最简单方法。

2020-05-19