2012-11-13 2 views
0

SQL (예 : "1/1/2012 12:00:00 AM")에서 전체 datetime 값을 표시하는 ASP.NET MVC4 응용 프로그램이 있으며 날짜 만 표시되도록하려고합니다 (예 : '2012 년 1 월 1 일'). 문제의보기에 대한MVC 뷰에 SQL datetime 필드의 날짜 부분 만 표시 할 수 있습니까?

내 Index.cshtml 파일이 코드를 사용하여 항목을 끌어 :

@Html.DisplayFor(modelItem => item.OccurrenceDate) 

날짜 만 표시하려면이 옵션을 수정할 수있는 방법이 있나요? 이 도우미가 실제로 할 수 있도록 설계되었습니다 템플릿의 장점을 복용하지 않는 HTML을 도우미 DisplayFor를 사용할 필요가 없습니다

@Html.DisplayFor(modelItem => item.OccurrenceDate.ToShortDateString()) 

답변

2

당신은 또한 주석 모델을 장식 할 수 있고 포맷이 나는 일을 뭔가 발견하면

using System.ComponentModel.DataAnnotations; 
class myModel { 
    [DataType(DataType.Date)] 
    public DateTime OccurencDate {get;set;} 
} 
+0

어디에 넣을까요? cshtml 파일에서? 또는 모델 또는 컨트롤러에서? – Splendor

+0

찾았습니다. 내 Occurrence.cs 컨트롤러에 코드를 추가하고 그것을 (내가 찾은 다른 솔루션을 훨씬 낫다) 위대한 일했다. 나는 using System.ComponentModel.DataAnnotations;를 추가해야했다. 감사! – Splendor

+0

컨트롤러에 추가하지 않을 것입니다. 모델 정의에 추가 할 수 있습니다. 네, DataAnnotations를 사용해야합니다. –

1

당신은 방금 Date 재산 ToShortDateString() 방법을 사용할 수 있습니다. 귀하의 경우를 들어

는 쓰기 :

@Model.OccurrenceDate.ToString("M/d/yyyy") 
+0

. 나는 아직도 날짜와 시간을 얻는다. – Splendor

+0

@Splendor - ToShortDateString()을 대신 사용해보십시오. – DaveShaw

+1

저에게 InvalidOperationException이 발생했습니다 : 템플릿은 필드 액세스, 속성 액세스, 단일 차원 배열 인덱스 또는 단일 매개 변수 사용자 지정 인덱서 식에만 사용할 수 있습니다. – Splendor

0

:

+0

컴파일러 오류 메시지 : CS1061 : 'System.Collections.Generic.IEnumerable '에 'OccurrenceDate'에 대한 정의가없고 'OccurrenceDate'확장 메서드가 없습니다. 'OccurrenceDate' System.Collections.Generic.IEnumerable '를 찾을 수 있습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?) – Splendor

0

이 나를
item.OpeningDate.Value.ToShortDateString @ ()에 대한 작품이다

내가 너무 생각하지만 나는 그것을 시도하고 전혀 표시를 변경하지 않습니다 무엇
+0

작동하더라도 답변을 설명하는 것이 좋습니다. 다른 사람들이 문제를보다 명확하게 이해하는 데 도움이됩니다. –

+0

코드 만 버리기보다는 답을 설명하십시오. –

관련 문제