0
我有一个有点奇怪的情况,我有动态生成表单上的字段 - 所有下拉列表。这些选择对应于我想汇总在一起形成位掩码的二进制值。我这样生成下拉列表:mvc4动态生成的字段从表单丢失
<table class="center">
@foreach (var field in Model.Fields)
{
<tr>
<td>@field.DisplayText:</td>
<td>
@Html.DropDownList(field.FieldName, new SelectList(field.Options, "FlagValue", "Text", field.SelectedValue), "(doesn't matter)")
</td>
</tr>
}
</table>
这似乎工作 - 就在视图中呈现正确的HTML。但我的控制器没有收到这些字段中的选择。我试图通过动态字段循环。
在下面的代码中,PatientSelectorEditor是我的ViewModel。
private void GetFlagInfo(PatientSelectorEditor pse, out string description, out long flags)
{
description = null;
flags = 0;
// get list of all possible fields that could be in the view.
pse.Fields = InitPatientSelectorFields(0);
foreach (PriceFlagField field in pse.Fields)
{
foreach (var option in field.Options)
{
// was something selected here?
if (Request[field.FieldName].Equals(option.FlagValue))
{
description += ", " + option.Text;
flags += option.FlagValue;
}
}
}
}
是去
Request[field.Name]
线路没有发现在我看来,动态生成的领域。
我在做什么错?
你拥有包括你的窗体标记内DROPDOWNLIST明确的字符串比较? – 2013-02-13 04:59:18
请发布您的完整的HTML页面,以便我们可以更好地进行分析。 – 2013-02-13 09:37:10