我有这个
@Html.DropDownListFor(x => x.Names, new SelectList(Model.Names, "Value", "Text"), "---Filter By Name---", new { @class = "nameSelecter" })
当这呈现“---按姓名过滤---”将是首选。我想知道我可以为此设置一个值吗?
<option value="">---Filter By Name---</option>
现在它没有任何价值。我想给一个。
答案 0 :(得分:7)
DropDownListFor
不支持此功能。您需要编写自定义帮助程序或使用javascript执行此操作。这就是说为默认选择设置一个值是没有意义的,因为它也会破坏所需属性的验证逻辑。
答案 1 :(得分:1)
我能想到想要能够做到这一点的理由。我现在正面对它。但是,一如往常可能有另一种方式。我不希望选择是必需的,因为得到的“空值”(或0)值具有特殊意义,不与其他值冲突,并且可以通过预期用于这种特殊的,虽然是人为诱导的情况。
我正在使用EF,我有一个/或有效的下拉选择产生复杂模型中相关实体的密钥。当输入零值时,期望是呈现相关实体绑定控件并由此进行验证。当输入非零值时,它表示键值,因此不呈现相关实体控件,并且父实体足以拥有现有键值...不需要创建新子项所需的实际绑定值实体。