2

モデルのドロップダウン リストから選択した項目を取得しようとしています。しかし、私は常にアイテムの null 値を取得しています。私のモデルは

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

color の選択された id を表す int プロパティをモデルに追加します。

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 に答える