2014-11-20 5 views
3

DateTime 변수가 MMMM dd, yyyy으로 표시되도록 형식을 지정하려고합니다. 내보기에서 6 월 10 일, 2011 년ASP.NET MVC5 사용자 정의 형식의 날짜 표시

내가 가진 :

다음과 같이 나에게 예외가 발생
@Html.Raw(modelItem => item.MyDateTimeProperty.ToString("MMMM dd, yyyy")) 

: 물론

lambda expression cannot be converted to 'string' because 'string' is not 
a delegate type 

item.MyDateTimeProperty 데이터 유형이 DateTime입니다. 참고로

나는 다음의 예 [1] 내가 잘못

// The example displays the following output: 
// Today is June 10, 2011. 
DateTime thisDate1 = new DateTime(2011, 6, 10); 
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + "."); 

를하고있는 중이 야 무엇을 사용?

내가 stack247의 대답은 이상적인 환경에서 가장 적절한 해결책이 볼

편집. 내 경우에는 컨트롤러가 내 모델 클래스에 존재하지 않는 객체를 반환합니다. 이것은 데이터를 가져 오기 위해 API를 사용하기 때문입니다. 그렇기 때문에 Anrei의 해결책이 가장 적합합니다.

@Html.Raw(item.MyDateTimeProperty.ToString("MMMM dd, yyyy")) 

[1] http://msdn.microsoft.com/en-US/library/8kb3ddd4%28v=vs.110%29.aspx

+0

[이] (http://stackoverflow.com/questions/18548816/mvc-4-date-culture-issue) 도움이 될 수도 – jbutler483

답변

2

Html.Raw에 정보를 원하시면이 질문을 확인할 수 있습니다 실제로 문자열을 매개 변수로 기대하고, 당신은 람다 전달된다. 확실하지 왜 그래도, 당신은 여기에 어떤 식 으로든 람다를 사용하지 않습니다. 이것이 오류 메시지가 참조하는 것입니다.

는 좋아

봐가 있어야합니다 단지

@Html.Raw(item.MyDateTimeProperty.ToString("MMMM dd, yyyy")) 
당신은 당신의 모델에 주석을 추가하여보기에서 날짜 시간 형식을 지정할 수 있습니다
5

:보기에 그런

[DisplayFormat(DataFormatString = "{0:MMMM dd, yyyy}")] 
public DateTime ThisDate { get; set } 

:

@Html.DisplayFor(x => x.ThisDate) 
+0

이것은 실제로 더 나은 홍보 배우. 보기에 논리가 없어도 뷰에 표시해야하는 항목 만 표시 할 수 있도록 모델을 준비/구성하여 뷰에 표시 할 때 필요한 모든 것이 있어야합니다. 뷰는 데이터 만 표시하고 다른 것은 표시하지 않아야합니다. 모델은 필요한 모든 작업을 수행합니다. –

관련 문제