I have html as
@Html.EditorFor(model => model.DateOfBirth})
and property as
[DataType(DataType.Date, ErrorMessage = "Invaild date.")]
[Display(Name = "Date of birth")]
public DateTime DateOfBirth { get; set; }
controller code is as
public ActionResult Edit(int id)
{
var member = (MembersViewModel)_db.Members.Single(f => f.Id == id);
return View(member);
}
Model Is as
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
};
}
}
It will allow me to select date from calender. And yes also save it in a database. But when I want to populate the saved date, then text box remains empty. I don’t know why, even I get saved date and also pass to my model. Does anyone have any idea?
Yes I have solve this, not sure is it right or wrong but Work for me