2017-11-12 12 views
0

코드 첫 번째 Entity Framework 방식을 사용하여 프런트 엔드에 (C#) DateTime/(LocalDB) Date 형식을 올바르게 표시하는 데 문제가 있습니다.Entity Framework의 DateTime

StudentDetailsDTO 모델 클래스 :

public int ID { get; set; } 
public string Name { get; set; } 
public string LastName { get; set; } 
[Column(TypeName = "Date"), DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")] 
public DateTime BirthDate { get; set; } 
public string SID { get; set; } 
public string Course { get; set; } 
public string GroupName { get; set; } 
public string Specialty { get; set; } 

BirthDate가 올바르게 작동합니다. 테이블에 DateTime 대체 양식으로 제공된 형식의 날짜 (시간 없음)를 리턴합니다.

그러나 프런트 엔드에서는 Date 형식이 아무 효과가없는 것처럼 특정 학생의 T 특성과 함께 여전히 Details table에 표시됩니다. 내가 대신 string 데이터 형식을 사용한다면

것은 아무 문제가 없을 것이다. 그러나 적절한 데이터 형식 규칙을 고수하기 위해 최선을 다하고 있습니다.

내가 컨트롤러에 뭔가를 변경해야합니까? HTML보기? 아니면 Knockout.js에서? Stackoverflow에 제공된 몇 가지 솔루션을 시도했지만 작동하지 않거나 구현하는 데 문제가 있습니다.

나는 완전한 초보자 손실입니다. 이러한 작은 변화, 많은 문제. 나는 모든 가능한 힌트 또는 해결책에 대해 감사 할 것입니다. 시간 내 주셔서 감사합니다.

+0

DateTime은 날짜 형식을 저장하지 않습니다. 그리고 항상 날짜와 시간을 저장합니다. 그래서 프론트 엔드에서 포맷해야합니다. –

답변

0

날짜를 표현하는 방법에 따라 다릅니다. 당신이 날짜를 렌더링하는 넉 아웃을 사용하는 경우

@Html.DisplayFor(model => model.BirthDate) 

또는, 당신은 moment.js을 고려할 수 당신이 모델을보기에서 당신은 출생 날짜와 날짜를 바꾸십시오 :

면도칼에서 당신은 사용할 수 있습니다.

moment('2013-01-01T00:00:00.000').format('YYYY-MM-DD') 
0

작동하도록하려면 BirthDate를 DataType 특성으로 장식해야합니다.

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")] 
public DateTime BirthDate { set; get; } 
+0

이미 시도했습니다. 그것은 작동하지 않았다. –