2
아래 속성을 가진 모델에서 뷰를 스캐 폴딩하면 브라우저 날짜 선택 도구를 렌더링하는 코드가 생성됩니다.Scaffold a 날짜 및 시간 선택 도구
날짜 및 시간 선택 도구를 생성하는 속성을 어떻게 비계 할 수 있습니까?
[DataType(DataType.DateTime)]
아래 속성을 가진 모델에서 뷰를 스캐 폴딩하면 브라우저 날짜 선택 도구를 렌더링하는 코드가 생성됩니다.Scaffold a 날짜 및 시간 선택 도구
날짜 및 시간 선택 도구를 생성하는 속성을 어떻게 비계 할 수 있습니까?
[DataType(DataType.DateTime)]
당신은 사용자 정의 EditorTemplate를 작성하여이를 달성 [UIHint]
와 함께 사용 MVC를 알 수 있습니다 ...
[Display(Name = "Date Start")]
[DataType(DataType.Date)]
public DateTime EventStart { get; set; }
나는이 시도했지만 작동하지 않습니다.
뷰 모델 :
[Display(Name = "Date Start")]
[UIHint("DateTimePicker")]
public DateTime EventStart { get; set; }
조회/공유/EditorTemplates/DateTimePicker.cshtml : 홈페이지보기
@model DateTime
<input type="text" name="@Html.NameFor(m => m)" id="@Html.IdFor(m => m)" value="@Model.ToString("o")"/>
<script type="text/javascript">
// init the datepicker of your JS UI Framework (I am using jQuery UI here)
$('#@Html.IdFor(m => m)').datepicker();
</script>
사용법 :
@Html.EditorFor(m => m.EventStart)
이 방법의 문제는 당신이다 EditorTemplate에서 생성 된 JS datepicker 객체의 핸들을 느슨하게합니다. 따라서 구성을 변경하려는 경우 (예 : maxDate를 동적으로 설정) 추가 인프라를 구축해야합니다.
내 권장 사항은 JS datepicker를 필요로하는보기에 직접 연결하고 datepickers에 Editor Templates를 사용하는 대신 거기에 구성하는 것입니다.
기본 스캐 폴드로는 불가능합니다. 자세한 내용은 [이 답변] (http://stackoverflow.com/a/38054088/1849444)을 확인하십시오. –
_ 그저 효과가있는 브라우저 날짜 선택기를 렌더링합니다. - Chrome 또는 Edge를 사용하는 경우에만 - IE 또는 FireFox에서 지원되지 않으며 사용자는 텍스트 상자를 보게됩니다. –