1

我正在尝试将 html 5 输入控件的值插入 db。但它的值插入为 null。这是我的代码。看法:

  @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 相同,第二个参数是一个匿名方法,其中包含将作为属性输出到 HTML 元素的键值对。

于 2013-10-05T15:20:04.077 回答