-1

私はhtmlを持っています

@Html.EditorFor(モデル => モデル.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

        };

    }
}

カレンダーから日付を選択できるようになります。はい、データベースにも保存します。しかし、保存した日付を入力したい場合、テキスト ボックスは空のままです。理由はわかりませんが、保存された日付を取得してモデルに渡します。誰にもアイデアはありますか?

4

1 に答える 1

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>
于 2012-10-09T10:47:01.877 に答える