1

MVC4KendoUIを使用しています。

空の文字列であるモデルプロパティにバインドされたDropDownListがあります。

 @(Html.Kendo().DropDownListFor(model => model.AppUserStatus)
                                      .Name("userStatusDropDownList")
                                      .DataTextField("Text")
                                      .HtmlAttributes(new {style = "width:100%;"})
                                      .DataValueField("Value")
                                      .BindTo(@ViewBag.StatusList))

model.AppUserStatusは、デフォルトでは空の文字列です。

ユーザーが新しいアイテムを選択するか、選択したアイテムをデフォルトアイテム(インデックス0)のままにしてフォームをポストバックした後、他のすべてのフィールドが正しくバインドされていても、model.AppUserStatusは空のままです。

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Update(EditUserViewModel model)
    {
        model.AppUserStatus ***** IS Null always, all other fields are good
        return View("EditUser", model);
    }
4

1 に答える 1

3

コントロールの Name("userStatusDropDownList") プロパティを設定する必要はありません。

それを削除すると、名前が適切に自動生成されます - つまり#AppUserStatus

この Name メソッドは、サーバーにポストされる値 (ポストされる入力要素の name 属性) によっても名前を制御します。

于 2012-12-03T19:20:22.370 に答える