0

我正在创建一个页面来编辑不合格报告。该页面采用如下模型:

在此处输入代码

在页面上,我试图显示一个下拉列表,其中FaultCode预先选择了属性的当前值。但是,它不起作用。相反,我将其剥离回基础并尝试对预选值进行硬编码,如下所示:

@{
                var faultCodeList = new List<SelectListItem>
                {
                    new SelectListItem { Text = "Internal Damage", Value = "Internal Damage" },
                    new SelectListItem { Text = "Customer Problem", Value = "Customer Problem"  },
                    new SelectListItem { Text = "Incorrect Material Supplied", Value = "Incorrect Material Supplied"  },
                    new SelectListItem { Text = "Received Material Damaged", Value = "Received Material Damaged"  },
                    new SelectListItem { Text = "No Test Certificate Supplied", Value = "No Test Certificate Supplied" },
                    new SelectListItem { Text = "Other", Value = "Other", Selected = true}
                };
            }

            @Html.DropDownList("FaultCode", faultCodeList)

这仍然不起作用。但是,如果我将该字段的名称更改为其他名称FaultCode- 即FaultCode2- 它可以正常工作!

为什么我会看到这种奇怪的行为?在同一页面上,我有其他字段的下拉列表,它们运行良好......

4

1 回答 1

0
@Html.DropdownList("FaultCode", new SelectList(faultCodeList, "Value", "Text","Other"))

您需要绑定到 SelectList 而不是 List,以便您可以提及所选值的最后一个参数是“Other”。

于 2013-08-13T08:34:28.197 回答