2017-10-18 1 views
2

고유 날짜 및 날짜 시간 MVC.net 응용 프로그램에서 : 내보기에내가 같은 날짜 시간에 날짜를 차별화하고 싶은

public class ViewModel { 
    public Date Date { get; set; } 
    public DateTime DateTime { get; set; } 
} 

, 내가 좋아하는 것이 전화 :

@Html.EditorFor(p => Model.Date) 
@Html.EditorFor(p => Model.DateTime) 

것은 렌더링하는 :

<input data-val="true" data-rule-date="true" data-val-date="Must be a date." type="date" value="" aria-describedby="field-error"/> 
<input data-val="true" data-rule-datetime="true" data-val-date="Must be a datetime." type="datetime" value="" aria-describedby="field-error"/> 

내가 이것을하고 싶은 이유는 2 가지 플러그인 초기화와 유효성 검사 방법을 사용하는 것입니다. cker 및 JQuery와 같은 플러그인을 확인 :

<script type="text/javascript"> 
    $.validator.addMethod("date", function(value, element) { [date validation code] }); 
    $("[type='date']").datepicker({ format:"dd/MM/yyyy" }); 

    $.validator.addMethod("datetime", function(value, element) { [time validation code] }); 
    $("[type='datetime']").datetimepicker({ format:"dd/MM/yyyy HH:mm:ss" }); 
</script> 

내 질문이있다 : 나는 새로운 구조체 Date와 그의 Html.EditorFor 구현을 선언 할 의무 또는 간단한 방법이 있습니까?

+0

의 필드 위의 System.ComponentModel.DataAnnotations를 사용하여 Html 헬퍼로 렌더링 할 때로 표시됩니다 유형을 변경할 수 있습니까? DateTime이 거의 모든 곳/모든 언어에서 구현되면 새로운 Type을 직접 만들려고하면 불필요한 두통이 될 수도 있습니다. – Tiramonium

답변

1

당신이이 당신이 날짜 시간 속성에 대한 표시 서식 옵션을 생각 해 봤나 모델

[DataType(DataType.Date)] 
public DateTime Date { get; set; } 
[DataType(DataType.DateTime)] 
public DateTime DateTime { get; set; } 
+0

유형 날짜가 정의되지 않았습니다.'public DateTime Date'가 아니라는 뜻입니까? – GGO

+0

@GGO 예. 죄송합니다. –

1

ViewModel에서 [UIHint] 속성을 사용하여 EditorTemplate으로 리디렉션 할 수 있습니다. 아니 Date 구조체가 필요합니다. 이 선언으로

public class ViewModel { 
    [UIHint("Date")] 
    public DateTime Date { get; set; } 
    public DateTime DateTime { get; set; } 
} 

, @Html.EditorFor(m => m.Date)Date.cshtml를라는 EditorTemplate을 찾아서이 편집기에 모델로 DateTime을 전달합니다.

자세한 내용은 UIHint, DisplayTemplates, and EditorTemplates in MVC을 참조하십시오.

관련 문제