2012-06-22 1 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

Спасибо, это показывает DatePicker. Теперь не нужно использовать FormCollection на контроллере – CodeManiac

+0

Здравствуйте, Kapil. Здесь DatePicker принимает значение по умолчанию (6/6/2012 12:00:00 AM). Но мне нужно удалить время и показать только дату. Ya. Это можно сделать, используя 'ToShortDateString()'. Но как использовать эту функцию, так как у меня есть '@ Html.DisplayFor (model => model.BirthDate)' для отображения даты рождения. Я также посмотрел базу данных и показывал только дату, а не время. что я должен сделать для показа только даты. Я новичок в mvc 3 и действительно запутаюсь в одной небольшой модификации. – CodeManiac