我正在开发一个asp.net mvc-5 Web应用程序,我在我的Get Edit操作方法中编写了以下内容来填充下拉列表: -
var t=await unitofwork.SkillRepository.getallSkillCategories().ToListAsync();
ViewBag.SkillCategoryID = new SelectList(t, "SkillCategoryID", "Name",skill.SkillCategoryID);
在视图中我写了以下内容: -
@Html.DropDownListFor(model => model.SkillCategoryID,(SelectList) ViewBag.SkillCategoryID,"--please select--", null)
但上面没有合作,因为当前的SkillCategoryID将不会被选中,我将永远得到" - 请选择 - "。要解决此问题,我必须执行以下操作之一: -
1)修改我的动作方法如下(删除skill.SkillCategoryID): -
ViewBag.SkillCategoryID = new SelectList(t, "SkillCategoryID", "Name");
2)或修改我的视图以传递null而不是提及ViewBag: -
@Html.DropDownListFor(model => model.SkillCategoryID,null,"--please select--", null)
那为什么我的第一种方法不起作用?