0

選択した値をモデルで定義されたパラメーターに関連付けようとしていますが、「値を null にすることはできません。パラメーター名: アイテム」というエラーが表示されます。

モデルには次のものがあります:

public class ObjectivesModel
{

    [Required(ErrorMessage = "*")]
    [Display(Name = "AssociatedGoal")]
    public int AssociatedGoal { get; set; }

}

Controllerでリストを作成します

[HttpGet]
    public ActionResult NewObjective()
    {
        IEnumerable<SelectListItem> example = new List<SelectListItem>
        {
            new SelectListItem() { Text = "ola1", Value = "1" },
            new SelectListItem() { Text = "ola2", Value = "2" }
        };

        ViewBag.GoalsToAssociate = example;

        return View();
    }

そして最後に私が持っているビューで

@using (Html.BeginForm()){

             <div class="editor-label">@Html.LabelFor(o => o.AssociatedGoal)</div>
            <div class="editor-DropDownList">@Html.DropDownListFor(o => o.AssociatedGoal, new SelectList(@ViewBag.GoalsToAssociate, "Value", "Text"), "--Select Goal--")
            @Html.ValidationMessageFor(o => o.AssociatedGoal)

            </div>

そのため、フォームを送信するとエラーが発生します..ポストバージョンのコントローラーにはまだ特別なコードがあります

[HttpPost]
    public ActionResult NewObjective(Models.ObjectivesModel objective)
    {

        return View();
    }
4

1 に答える 1

0

このフォームの投稿中にこのエラーが発生したとのことです。たぶん、あなたのバージョンの にSelectListを渡さないのですか?View[HttpPost]Action

編集:

SelectList編集への対応: バージョンにコードも含める必要があります[HttpPost]

于 2013-05-29T15:03:19.620 に答える