我正在尝试从模型的下拉列表中获取所选项目。但我总是得到该项目的零值。 我的模特是
public class Configuration
{
public Color BoderColor { get; set; }
}
public class Color
{
public long Id { get; set; }
public string Name { get; set; }
}
我正在绑定这样的下拉列表
<td>
@Html.DropDownListFor(m => m.BoderColor, new SelectList(ViewBag.Colors, "Id","Name" ))
</td>
ViewBag.Colors的类型为IEnumerable<Color>
这是我的行动方法。
[HttpPost]
public ActionResult Create(Configuration configItem)
{
try
{
var color = configItem.BoderColor;
return RedirectToAction("List");
}
catch
{
return View();
}
}
当我提交我的视图时,我希望所选颜色应该能够通过模型对象中的“BoderColor”访问。有人可以帮我这个。
感谢。
答案 0 :(得分:1)
在模型中添加一个int属性,表示颜色的选定ID:
public class Configuration
{
public Color BoderColor { get; set; }
public int BoderColorId { get; set; }
}
然后在帮助器中使用它
<td>
@Html.DropDownListFor(m => m.BoderColorId, new SelectList(ViewBag.Colors, "Id","Name" ))
</td>