2

我正在尝试从模型的下拉列表中获取选定的项目。但我总是得到该项目的空值。我的模型是

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”访问。有人可以帮我解决这个问题。

谢谢。

4

1 回答 1

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>
于 2012-09-05T22:03:23.463 回答