2010-12-12 2 views

답변

8

여러 모델을 전달해야하는 경우 작은 모델이 속성으로 매달려있는 모든 모델을 만듭니다.

예를 들어 앱 사용자 그룹을 관리하기위한 페이지를 표시한다고 가정 해 보겠습니다. 보기에 IEnumerable<UserDisplayModel>IEnumerable<GroupDisplayModel>을 전달해야 할 수 있습니다. 이 같은 새로운 디스플레이 모델을 만들기 :이 모델의

class GroupManagementDisplayModel 
{ 
    public IEnumerable<UserDisplayModel> Users { get; set; } 
    public IEnumerable<GroupDisplayModel> Groups { get; set; } 
} 

패스 인스턴스를보기 대신. 액션에서

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 

: 당신은 당신이 많은이 작업을 수행 할 수 당신이 작은 종류를 많이 만드는별로주의 할 것을, 당신은 .NET 4의 dynamic 유형을 사용할 수 있음을 발견하면

+0

네, 이것은 당신이하고 싶은 것입니다. 그런 다음 사용하려는 속성을 선택하는 데 도움이되는 Intellisense에 액세스 할 수 있습니다. –

1

익명 유형을보기에 전달하십시오.

return View(new { Users, Groups }); 

그렇지 않은 경우에는보기에서 참조하십시오.

당신은 인텔리 강한 입력이 길을 잃고,하지만 당신은 (빌드 많은 느린을 수동으로 .csproj 파일을 편집 필요로하고 있습니다) 귀하의 의견을 컴파일하지 않는 한 당신은에 시간을 확인 컴파일하지 마십시오 어쨌든 조회수.

+0

시간 내 주셔서 감사합니다 ~ – user469652

+0

문제 없습니다. 개인적으로 나는 인텔리 센스가 마음에들 때이 접근법을 사용하지 않으며, Resharper는 작은 유형을 빠르고 쉽게 생성하지만, 여기에이 답변이 포함되어 있습니다. –

관련 문제