繁体   English   中英

可以给Html.DropDownListFor()选项标签一个值吗?

[英]Possible to give Html.DropDownListFor() option label a value?

我有这个

 @Html.DropDownListFor(x => x.Names, new SelectList(Model.Names, "Value", "Text"), "---Filter By Name---", new { @class = "nameSelecter" })

当这呈现“---按名称过滤---”将是首选。 我想知道我可以为此设置一个值吗?

<option value="">---Filter By Name---</option>

现在它没有任何价值。 我想给一个。

DropDownListFor不支持此功能。 您需要编写自定义帮助程序或使用javascript执行此操作。 这就是说为默认选择设置一个值是没有意义的,因为它也会破坏所需属性的验证逻辑。

我能想到想要能够做到这一点的理由。 我现在正面对它。 但是,一如往常可能有另一种方式。 我不希望选择是必需的,因为得到的“空值”(或0)值具有特殊意义,不与其他值冲突,并且可以通过预期用于这种特殊的,虽然是人为诱导的情况。

我正在使用EF,我有一个/或者有效的下拉选择为复杂模型中的相关实体生成一个键。 当输入零值时,期望是呈现相关实体绑定控件并由此进行验证。 当输入非零值时,它表示键值,因此不呈现相关实体控件,并且父实体足以拥有现有键值...不需要创建新子项所需的实际绑定值实体。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM