0

在 HTML 表单上,我有各种控件绑定到父实体和 2 个子实体(都是一对一的)需要依赖。

提交 from[POST]值时,对于绑定到父级的所有控件以及绑定到子实体的所有“文本”类型控件,值都保持正常,但绑定到下拉控件的子字段不会保持不变。

我查看了 HTML 源代码,发现控件的名称和 id 标记的构造不同,因此提交表单中的键对于绑定到下拉控件的所有字段都是不正确的。

以下是表单中的两个示例控件,父表“Counterparty”和子表“ CounterpartyFinancial”

Textarea 控件:值更改保持正常: <textarea id="CounterpartyFinancial_WebAddress" name="CounterpartyFinancial.WebAddress">

组合控件:值更改不会持续: <select id="FinancialsSourceId" name="FinancialsSourceId">

下拉菜单是用

1)控制器中的选择列表:

ViewBag.FinancialsSourceId = new SelectList(db.FinancialsSources, "FinancialsSourceId", "Name", counterparty.CounterpartyFinancial.FinancialsSourceId);

2) 视图中的 DropDownList Helper

@Html.DropDownList("FinancialsSourceId", String.Empty)

该控件确实反映了数据库中的正确值。

我应该在下拉帮助程序中使用覆盖,还是更有可能不正确的配置/定义备份行?

谢谢

4

1 回答 1

0

我使用 @Html.DropdownListFor 助手解决了这个问题

@Html.DropDownListFor(x => x.SomePropertyOnModel, (IEnumerable<SelectListItem>)ViewBag.Clients);

DavidAndroidDev 在这里建议

于 2012-09-05T09:25:23.307 回答