问问题
83 次
2 回答
0
在 HttpPost 方面,View 将所有的 FormCollection 返回给控制器。因此,它始终具有存储在表单元素中的值,即文本框、下拉列表或隐藏字段。
在您的情况下, homeViewModel 必须包含 SelectedCountry 属性的值,因为它在表单集合中并与 DropDown 元素相关联,但 CountryList 不与任何元素相关联,这就是它返回 null 的原因。
要将集合从视图返回到控制器,请找到此线程。
祝你好运 !!
于 2012-09-01T11:44:17.560 回答
0
非常感谢Kundan,多个隐藏字段将解决问题,
@Html.DropDownListFor(model => model.SelectedCountry, new SelectList(Model.CountryList, "CountryCode", "CountryName"), "---SELECT COUNTRY---",
new { @class = "chosen", @onchange = "this.form.action='/Home/Index'; this.form.submit(); " })
@if (Model.CountryList != null)
{
for (int i = 0; i < Model.CountryList.Count; i++)
{
@Html.HiddenFor(model => model.CountryList[i].CountryCode)
@Html.HiddenFor(model => model.CountryList[i].CountryName)
}
}
于 2012-09-01T13:18:44.367 回答