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

本文关键字:一个 标签 选项 Html DropDownListFor | 更新日期: 2023-09-27 17:49:40

我有这个

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

当这呈现"——Filter By Name——"将是第一选择。我想知道我可以设置这个值吗?

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

现在它没有值。

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

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

我可以想到想要能够做到这一点的原因。我现在正面临这个问题。但是,一如既往,也许还有另一种方法。我不希望需要选择,因为产生的"空值"(或0)值具有特殊意义,不与其他值冲突,并且可以针对这种特殊的(尽管是人为诱导的)情况进行操作。

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