먼저 MVC를 처음 사용하고 ASP.NET MVC3을 사용해 보았습니다.MVC3에 매개 변수 및 목록이있는 폼을 작성하는 방법
나는이처럼 보이는 페이지를 구축하려는 :
시작 날짜 : [날짜 상자] 종료 날짜 : [날짜 상자] [검색 버튼]
[결과 표]
을
사용자가 시작 날짜와 종료 날짜 (유효성을 검사해야 함)를 입력 한 다음 검색 버튼을 클릭하면 일치하는 결과가 나타납니다.
그래서 어떻게 구성합니까?
public class ResultSearchModel
{
[Required]
[DataType((DataType.DateTime))]
[DisplayName("Start Date")]
public DateTime StartDate { get; set; }
[Required]
[DataType((DataType.DateTime))]
[DisplayName("End Date")]
public DateTime EndDate { get; set; }
public List<ServiceEntry> ServiceEntries { get; set; }
}
public class ServiceEntry
{
public DateTime Date { get; set; }
public string Code { get; set; }
public string Details { get; set; }
}
그래서, 내 인덱스 컨트롤러 액션이 ResultSearchModel의 인스턴스를 contruct이 모델과 뷰를 반환해야합니다 : 여기에 모델 클래스의 내 생각이야?
하나의보기에서이를 수행합니까, 아니면 목록 부분에 대한 부분보기가 있어야합니까?
@Html.DisplayFor(x => x.ServiceEntries)
을 한 다음은 ServiceEntries 콜렉션의 각 요소에 대해 렌더링됩니다 해당 템플릿 (~/Views/Home/DisplayTemplates/ServiceEntry.cshtml
)를 정의 할 수 있습니다 :
감사합니다. Darin - 저도 일종의 작업입니다. 따라서 ServiceEntry.cshtml 템플릿은 각 속성에 대해 td가있는 테이블 행이됩니다. 이 코드를 생성 할 수있는 좋은 방법이 있습니까 (예 : Add View ...)? 아니면 직접 코딩해야합니까? –
@Craig, ServiceEntry에는 단 하나의 행만 포함됩니다. 'DisplayTemplates' 폴더에 Add View로 생성하고'ServiceEntry'를 모델로 가져올 수 있습니다. –