在HTML表单上,我有各种控件绑定到父实体,2个子实体(都是一对一)需要依赖。
当提交from [POST]
时,对于绑定到Parent的所有控件,以及绑定到Child实体的所有“text”类型控件,值仍然存在,但绑定到下拉控件的子字段不会持久存在。 / p>
我查看了HTML源代码,发现name和id标签的构造方式不同,因此提交表单中的键对于绑定到下拉控件的所有字段都不正确。
以下是来自父表“交易对手”和儿童“CounterpartyFinancial”
的表单中的两个示例控件 Textarea控制:值更改仍然存在:
<textarea id="CounterpartyFinancial_WebAddress" name="CounterpartyFinancial.WebAddress">
组合控制:值更改不会持续:
<select id="FinancialsSourceId" name="FinancialsSourceId">
下拉列表是用
构建的1)Controller中的SelectList:
ViewBag.FinancialsSourceId = new SelectList(db.FinancialsSources, "FinancialsSourceId", "Name", counterparty.CounterpartyFinancial.FinancialsSourceId);
和
2)视图中的DropDownList Helper
@Html.DropDownList("FinancialsSourceId", String.Empty)
控件确实反映了数据库中的正确值。
我是否应该在下拉助手中使用覆盖,或者更可能是错误的配置/定义备份线路?
由于
答案 0 :(得分:0)
我使用@ Html.DropdownListFor帮助
解决了这个问题 @Html.DropDownListFor(x => x.SomePropertyOnModel, (IEnumerable<SelectListItem>)ViewBag.Clients);