2012-10-04 3 views
-1

I 가진 HTML로면도기 표시 기간 MVC

@ Html.EditorFor (모델 => model.DateOfBirth}) 제어 코드가

재산

[DataType(DataType.Date, ErrorMessage = "Invaild date.")] 
    [Display(Name = "Date of birth")] 
    public DateTime DateOfBirth { get; set; } 

public ActionResult Edit(int id) 
    { 
     var member = (MembersViewModel)_db.Members.Single(f => f.Id == id); 

     return View(member); 
    } 
로서

모델은 다음과 같습니다.

public class MembersViewModel 
{ 
    public int Id { get; set; } 
    public int GymId { get; set; } 
    public Gym Gym { get; set; } 
    public ICollection<Gym> Gyms { get; set; } 
    public string FirstName { get; set; } 
    public string MiddleName { get; set; } 
    public string LastName { get; set; } 
    public Address ShippingAddress { get; set; } 
    public Address BillingAddress { get; set; } 
    public string PhoneNumber { get; set; } 
    public string EmailAddress { get; set; } 
    [DataType(DataType.Date, ErrorMessage = "Invaild date.")] 
    [Display(Name = "Date of birth")] 
    public DateTime DateOfBirth { get; set; } 

    public static implicit operator MembersViewModel(Member member) 
    { 
     return new MembersViewModel 
     { 
      BillingAddress = member.BillingAddress, 
      FirstName = member.FirstName, 
      Gyms = member.Gyms, 
      Id = member.Id, 
      LastName = member.LastName, 
      MiddleName = member.MiddleName, 
      ShippingAddress = member.ShippingAddress, 
      DateOfBirth = member.DateOfBirth 

     }; 

    } 

    public static explicit operator Member(MembersViewModel member) 
    { 
     return new Member 
     { 
      BillingAddress = member.BillingAddress, 
      FirstName = member.FirstName, 
      Gyms = member.Gyms, 
      Id = member.Id, 
      LastName = member.LastName, 
      MiddleName = member.MiddleName, 
      ShippingAddress = member.ShippingAddress, 
      DateOfBirth = member.DateOfBirth 

     }; 

    } 
} 

캘린더에서 날짜를 선택할 수 있습니다. 그리고 네. 또한 데이터베이스에 저장하십시오. 그러나 저장된 날짜를 채울 때 텍스트 상자는 비어 있습니다. 나는 왜 그런지 모르지만, 심지어는 저장 한 날짜를 얻고 내 모델로 전달합니다. 누구 아이디어가 있습니까?

+0

에 대한 작업? 이 뷰를 렌더링하는 컨트롤러 액션에서 관련 코드를 표시 할 수 있습니까? 모델을 모델에 전달하고 있습니까? –

+0

내 컨트롤러 코드에 대한 게시를 업데이트했습니다. –

+0

제발 도와주세요. –

답변

0

예 내가이 문제를 해결 한 확실하지 그것은 옳고 그름하지만 당신은 어떻게 날짜를 채우는하는 나

@Html.EditorFor(model => model.DateOfBirth) 
@Html.ValidationMessageFor(model => model.DateOfBirth) 

@Html.Hidden("hiddenFieldDateofBirth", Model.DateOfBirth.ToString("yyyy-MM-dd")) 

<script> 
    $("#DateOfBirth").val($("#hiddenFieldDateofBirth").val()); 
</script>