1

HTML 5入力コントロールの値をdbに挿入しようとしていますが、その値はnullとして挿入されています.Hereが私のコードです. 意見:

  @Html.LabelFor( m => m.noOfCars)
 <input type="number" min="1" max="1000" step="1">

モデル:

   public string noOfCars { get; set; }

コントローラ:

        [httpPost]
        public ActionResult AddVehicles(AddSpaces adspace)
         {
           if (ModelState.IsValid)
          {
           string userName = User.Identity.Name;
           var queryUser = from user in Session.Query<AddSpaces>()
                           where user.email == userName
                           select user;

           if (queryUser.Count() > 0)
           {
               foreach (var updateSpaces in queryUser)
               {
                    updateSpaces.BPH = adspace.noOfCars;
               }
                  Session.SaveChanges();
           }
        }
     }

モデルの noOfCars プロパティを int に変更しましたが、機能しません。

4

1 に答える 1

1

MVC がバインドするためには、入力フィールドに名前を付ける必要があります。

 @Html.LabelFor( m => m.noOfCars)
 <input type="number" min="1" max="1000" step="1" name="noOfCars">

あるいは、HTML ヘルパーを使用して名前を付けることができます。これはうまくいくはずです

    @Html.TextBoxFor(m => m.noOfCars, new { type = "number", min = "1", max = "1000" })

最初のパラメーターは LabelFor と同じように機能し、2 番目のパラメーターは、HTML 要素に属性として出力されるキーと値のペアを含む匿名メソッドです。

于 2013-10-05T15:20:04.077 に答える