使用Html.DropDownListFor并在SelectList中选择一个值将无法一起使用

时间:2015-08-12 12:35:53

标签: asp.net-mvc razor asp.net-mvc-5 html.dropdownlistfor dropdownlistfor

我正在开发一个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)

那为什么我的第一种方法不起作用?

0 个答案:

没有答案