Asp.net mvc 4 所选项目未显示在编辑表单的下拉列表中

Asp.net mvc 4 所选项目未显示在编辑表单的下拉列表中,asp.net-mvc-4,Asp.net Mvc 4,我有添加表单和编辑表单。当我在下拉列表中添加详细信息时,它成功地保存在数据库中。当我选择“编辑”时,所选项目不会显示在下拉列表中 我在EditPartial中使用的代码 @Html.DropDownListFor(m => m.Language_ID,(List<SelectListItem>)ViewBag.LanguageList,null, new { type = "text", Class = "validate[required] form-control smhe

我有添加表单和编辑表单。当我在下拉列表中添加详细信息时,它成功地保存在数据库中。当我选择“编辑”时,所选项目不会显示在下拉列表中

我在EditPartial中使用的代码

@Html.DropDownListFor(m => m.Language_ID,(List<SelectListItem>)ViewBag.LanguageList,null, new { type = "text", Class = "validate[required] form-control smheight", style = " font-size:11px; padding-top:3px" })
模型


将控制器代码更改为

ViewBag.LanguageList = new SelectList(db.LANGUAGES_TABLE, "Language_ID", "Languages");
并删除以下内容

var items = new SelectList(db.LANGUAGES_TABLE.ToList(), "Language_ID", "lang");
ViewData["Language_ID"] = items;
并将视图更改为

@Html.DropDownListFor(m => m.Language_ID, (SelectList)ViewBag.LanguageList, "Select", new {...});
如果属性语言_ID的值与选项值之一的值匹配,则将在视图中选择它


请注意,您的html属性无效。type=文本没有意义-它是一个元素,而不是一个元素。Class=validate[required]没有任何意义也不确定您认为这会做什么

Language_ID的值是否与您选项的值之一匹配?生成ViewBag.LanguageList的代码是什么?请删除您最近的评论,以后编辑您的问题。您已将属性绑定到SelectList!它需要是一个值类型,您不应该像这样生成第一个SelectList。你有一个模型吗?你发回什么?我还建议不要混合内联样式和类名。如果无法修改表单控件或smheight以包含字体大小和填充顶部属性,则只需添加具有这些属性的新类名
var items = new SelectList(db.LANGUAGES_TABLE.ToList(), "Language_ID", "lang");
ViewData["Language_ID"] = items;
@Html.DropDownListFor(m => m.Language_ID, (SelectList)ViewBag.LanguageList, "Select", new {...});