>source

다음 날짜/시간 필드가 있습니다

   [DisplayName("Expiry Date")]
    [DataType(DataType.DateTime)]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
    public DateTime ExpiryDate { get; set; }

그리고 그렇게 표시합니다 (맨 위 줄은 실제로 ExpiryDate에 대한 값이 있는지 확인합니다-예상대로 표시됩니다)

<div>
     Current value: @Model.ExpiryDate.ToShortDateString()
     @Html.TextBoxFor(model => model.ExpiryDate, "{0:dd/MM/yyyy}" , new { type = "date", @class = "form-control" })
</div>

Chrome에서 날짜 선택 도구가 날짜를 선택하는 데 올바르게 작동합니다. 날짜를 선택하면 제출시 모델에 올바르게 바인딩됩니다. ExpiryDate에 "dd/mm/yyyy"를 표시하는 값이없는 경우에도 제대로 작동합니다

하지만 ExpiryDate에 값이있는 경우 텍스트 상자에 2019 년 2 월 2 일이 아닌 dd/mm/yyyy 또는 값이 표시됩니다

이상하게 생성 된 HTML을 검사 할 때 텍스트 상자에 올바른 값이있는 것 같습니다.

<input class="form-control" data-val="true" data-val-date="The field Expiry Date must be a date." data-val-required="The Expiry Date field is required." id="ExpiryDate" name="ExpiryDate" type="date" value="22/02/2019">

또한 @value = Model.ExpiryDate.ToShortDateString() 를 포함하여 값을 명시 적으로 포함하려고 시도했습니다.  HtmlAttributes에서 차이가 없습니다 (값이 이미 정확하기 때문에 특별히 기대하지는 않습니다)

내가 무엇을 놓치고 있습니까?


  • 이전 asp.net mvc - MVC보기에서 angularjs를로드하고 angularjs 컨트롤러에 데이터를 전달하는 방법은 무엇입니까?
  • 다음 docker - 비밀 대안이있는 Kubernetes