2012-06-22 57 views
1

我已经使用jQuery UI Helpers日期选择器使用以下代码。模型绑定到日期选择器jQuery UI在asp.net mvc 3

<div> 
     <label for="date">Select a date:</label> @Html.JQueryUI().Datepicker("date") 
    </div> 

但我怎样才能用这个帮手来绑定同一个模型:

<div class="editor-label"> 
     @Html.LabelFor(model => model.BirthDate) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.BirthDate) 
     @Html.ValidationMessageFor(model => model.BirthDate) 
    </div> 

因此,该值将被保存到数据库中。

我已经在数据库中使用的FormCollection像下面保存出生日期的岗位价值:

[HttpPost] 
     public ActionResult Edit(User user,FormCollection PostData) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Users.Attach(user); 
       user.BirthDate = DateTime.Parse(PostData["date"]); 
       UpdateModel(user); 
       //db.ObjectStateManager.ChangeObjectState(user, EntityState.Modified); 
       db.SaveChanges(); 
       return RedirectToAction("Details"); 
      } 
      ViewBag.RoleID = new SelectList(db.Roles, "ID", "Name", user.RoleID); 
      return View(user); 
     } 

回答

1

尝试使用这样的:

<script> 
    $(function() { 
     $("#BirthDate").datepicker(); 
    }); 
</script> 
+0

感谢,它显示日期选择器。现在,不必在控制器上使用FormCollection – CodeManiac

+0

Hello Kapil,在这里,DatePicker采用默认时间值(6/6/2012 12:00:00 AM)但我需要删除时间并只显示日期。雅,它可以使用'ToShortDateString()'完成。但是如何使用这个函数,因为我有'@ Html.DisplayFor(model => model.BirthDate)'来显示出生日期。我也看过数据库,它只显示日期而不显示时间。我只需要显示日期。我是mvc 3的新手,对于单一的轻微修改真的很迷惑。 – CodeManiac