@html.dropdownlist 设置默认值,如何使用Html.DropDownList设置默认选项的值

我觉得你有四个选项。首先,当您构建您的SelectList或SelectItemList的可枚举时,请在您的选项标签和默认值前加上选择。如果尚未在模型中选择其他值,则将其置于顶部将使其成为默认值。其次,您可以使用循环创建选项,在视图中“手动”构建选择(和选项)。同样,如果在模型中没有提供默认选择,则预先设置默认选择。第三,使用DropDownList扩展,但在加载页面后使用javascript修改第一个选项的值。

似乎无法使用DropDownList扩展名将值分配给optionLabel,因为它被硬编码为使用string.Empty。以下是http://www.codeplex.com/aspnet的相关代码片段。

// Make optionLabel the first item that gets rendered.

if (optionLabel != null) {

listItemBuilder.AppendLine(ListItemToOption(new SelectListItem() { Text = optionLabel, Value = String.Empty, Selected = false }));

}

编辑:最后,最好的办法是让你的模型取空值并将其标记为使用RequiredAttribute标签要求。我建议使用视图特定的模型而不是视图的实体模型。由于该值为可空,因此如果未选择值而回发,则空字符串将正常工作。将其设置为必需值将导致模型验证失败,并显示相应的消息,表明该值是必需的。这将允许您按原样使用DropdownList帮助程序。

public AreaViewModel

{

[Required]

public int? AreaId { get; set; }

public IEnumerable Areas { get; set; }

...

}

@Html.DropDownListFor(model => model.AreaId, Model.Areas, "Select Area Id")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值