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属性,它不是理想的但是它起作用.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....