例如:我同时添加表单和编辑表单。当我在下拉列表中添加详细信息时,它已成功保存在数据库中。当我选择编辑时,所选项目未显示在下拉列表中。
我在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" })
控制器代码
var _tableLanguage = db.LANGUAGES_TABLE.Select(_Log => new SelectListItem
{
Text = _Log.Languages,
Value = SqlFunctions.StringConvert((decimal)_Log.Language_ID) }
).ToList();
_tableLanguage.Insert(0, new SelectListItem { Text = "Select", Value = "0" });
ViewBag.LanguageList = _tableLanguage;
var items = new SelectList(db.LANGUAGES_TABLE.ToList(), "Language_ID", "lang");
ViewData["Language_ID"] = items;
模型
public partial class LANGUAGE_PROFFICIANCY
{
public int Language_Proficiency_ID { get; set; }
public Nullable<int> Candidate_ID { get; set; }
public Nullable<int> Language_ID { get; set; }
}
答案 0 :(得分:0)
将控制器代码更改为
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 {...});
如果属性Language_ID
的值与您的某个选项值的值匹配,则会在视图中选择它
另请注意,您的html属性无效。 type = "text"
毫无意义 - 它是<select>
元素,而不是<input type="text" ..>
元素。 Class = "validate[required]
也没有意义(不确定你认为这会做什么)