微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 为什么DropDownListFor不能识别编辑器模板中的选定值?

我有以下编辑器模板’DropDown.cshtml’.列表部分工作正常,模板使用一些伏都教我从ViewData获取所需的SelectList.控制器将视图模型中的所有选择列表放入ViewData中,并且列表方面没有任何问题.

@{
    var list = this.GetModelSelectList();
}
@Html.DropDownListFor(m => Model,list)

我在外键视图模型属性上使用此模板,如下所示:

[required]
[UIHint("DropDown","MVC","SelectListName","JobLevelSelectList")]
[display(Name = "Job Level")]
public Guid? JobLevelId { get; set; }

public SelectList JobLevelSelectList { get; set; }

在控制器中,JobLevelId在执行视图之前立即具有正确的值,但在呈现的select元素中没有选择任何项.或者更确切地说,总是选择选择列表中的第一项.

为什么DropDownListFor在我的编辑器模板中使用时忽略属性值,但在直接调用时工作正常?

解决方法

不幸的是,MVC3中的 a known bug(我还没有在MVC 4 Beta中尝试过,看看它是否已修复).

我使用的工作是在DropDownListFor绑定的集合中相应地手动设置Selected属性,它不是理想的但是它起作用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐