아키텍처 관련 질문 : 저는 ASP.net MVC를 사용하며 View Model Classes와의 강력한 형식의 뷰에만 의존합니다. 프리젠 테이션으로ASP.net MVC의 뷰 특정 형식 지정 코드
이보기의 일이다,이 수업은 일부 필드를 포함하지 않지만 일부 서식 기능, 예를 들어,
// The ViewModel contains a List<Comment> which the view.aspx iterates
// through, calling this function in a foreach-loop
// PostingDateFormat and DesiredCulture are fields set by the controller,
// and I don't know if they should be
public string GetCommentDateLine(Comment c)
{
return c.CommentDate.ToString(this.PostingDateFormat, this.DesiredCulture);
}
그게 맞다면 난 그냥 궁금 경우 나에게 내가 이동해야 다른 곳? 이는 다중 뷰에서 사용되는 함수에 특히 중요합니다. 그들은 계층 외부의 특별한 계급에서 살고 있어야합니까? 또는 각 View Model 클래스에 복사/붙여 넣기 (yikes) 할 수 있습니까?
동일한 ViewModel에 여러 개의보기가있을 수도 있습니다. 브라우저에 대한 일반보기, RSS 판독기에 대한 다른보기. 일반적으로 컨트롤러는 뷰 모델에 데이터를 채워야하며보기 자체는 대상 매체 (즉, RSS 피드의 날짜는 일반 웹 사이트의 날짜와 다르게 형식이 지정됨)에 따라 데이터를 형식화해야합니다. 일반 및 RSS에 대해 별도의 ViewModel을 사용해야합니까? 아니면 컨트롤러가 RSS 필드를 원하고 "PostingDateFormat"필드에 다른 값을 채우는 지 알고 있어야합니까? 그게 더 나은 솔루션 (각보기에 대한 ViewModels을 복제 할 필요가 없음)이지만,보기에 필요한 DateFormat을 알아내는 것이 Controller의 작업인지는 확실하지 않습니다.
그냥이에 추가 : 나는 중앙 설정 클래스를 통해 Web.config의 액세스를에 실제 형식 공급자 및 날짜 형식을 넣었습니다. 그렇게하면 HTML 도우미가 실제로 만 서식을 지정하지만 실제 서식은 걱정하지 않습니다. http://www.stum.de/2009/12/28/having-a-nested-configuration-section-in-web-config/ –