我有一个名为“AirLineSession”的课程:
public ExtendedList listCo { get; set; }
public ExtendedList listBa { get; set; }
public bool SortbyRating { get; set; }
public AirLineSession()
{
listCo = new ExtendedList();
listBa = new ExtendedList();
}
在我看来,我有:
@Html.HiddenFor(m => m.listBa)
@Html.HiddenFor(m => m.listCo)
@Html.DropDownListFor(a => a.SortbyRating, new[] { new SelectListItem { Text = "Sort by rating", Value = "true" }, new SelectListItem { Text = "Sort by frice", Value = "false" } })
当我登顶这个视图时,只有SortByRating的数据传递给Controller中的模型,listBa和listCo不会被传递。我不知道为什么 任何人都帮助我,谢谢。
答案 0 :(得分:0)
你可以发布ExtendedList类的代码吗?原因是asp.net mvc不知道如何为ExtendedList复杂类型创建所有Hiddens。在这种情况下,您应该为两个集合的每个对象和集合添加hiddens,样本:
@for(var i = 0; i < Model.listCo.Lenght; i++)
{
@Html.HiddenFor(model => model.listCo[i].Property1)
@Html.HiddenFor(model => model.listCo[i].Property2)
@Html.HiddenFor(model => model.listCo[i].Property3)
}
还有:
@for(var i = 0; i < Model.listBa.Lenght; i++)
{
@Html.HiddenFor(model => model.listBa[i].Property1)
@Html.HiddenFor(model => model.listBa[i].Property2)
@Html.HiddenFor(model => model.listBa[i].Property3)
}
答案 1 :(得分:0)
如果您正在使用For Stml html帮助程序,请确保已按模型将其值传递到相关视图。但如果没有,您应该将值放在一些动态工具(如ViewBag)上,然后使用以下代码:
@Html.Hidden("listBa", ViewBag.listba)
@Html.Hidden("listCo", ViewBag.listco)