即使使用HTML.HiddenFor,列表也为空

时间:2019-07-17 21:38:46

标签: .net asp.net-mvc razor

每当我尝试发布表单时,我都会得到null exception。即使视图中有@HTML.HiddenFor,模型中的列表也不保留值。

我该怎么办?

我的控制器:

enter image description here

我的观点:

enter image description here

发布时:

enter image description here

1 个答案:

答案 0 :(得分:1)

确保隐藏的输入具有以下名称,否则模型绑定将不起作用,并且Model.Countries将为null:

<input type="hidden" name="Countries[0].id" value="something" />
<input type="hidden" name="Countries[0].country_name" value="something" />
<input type="hidden" name="Countries[1].id" value="something" />
<input type="hidden" name="Countries[1].country_name" value="something" />
...

或者您可以在返回视图之前,在“发布”操作中重新填充模型,而不是使用隐藏的输入:

model.Countries = db.mstr_country.ToList();
return View(model);