2012-01-31 6 views
0

왼쪽에는 #TreeDiv, 오른쪽에는 #DataGridDiv가있는 CSS #MainDiv가 있습니다.asp.net MVC보기로 사용자 인터페이스 나누기

TreeDiv에는 Department 개체가있는 Javascript Treeview가 포함되어 있고 DataGridDiv 에는 Employee 개체가있는 Datagrid가 포함되어 있습니다.

트 리뷰의 부서 선택을 변경하면 DataGrid의 관련 직원 개체도 변경되어야합니다.

DepartmentController를 설정했습니다. 두 컨트롤 모두 ajax 을 통해 서로 독립적으로 데이터를 수신 할 수 있어야합니다.

1.) 내 인덱스 메서드는이 집계 된 데이터를보기에 표시하기 위해 어떤 종류의 개체를 반환해야합니까?

2.) 내 컨트롤을 어떤 종류의보기로 나누어야합니까?

답변

0

2. 컨트롤을 어떤 종류의보기로 나누어야합니까?

#MainDiv, #TreeDiv 및 #DatagridDiv와 함께보기를 만듭니다. #TreeDiv에서 트리 컨트롤을 호스트하도록하십시오 (이미 알고 있습니다). 부분 뷰를 작성하여 직원 오브젝트가있는 DataGrid를 표시하십시오. #DatagridDiv가이 부분 뷰를 호스트하도록하십시오.

이제 트리 컨트롤에서 부서를 선택하면 부서를 허용하는 컨트롤러 메소드로 ajax 호출을 수행하고 직원 데이터가 포함 된 부분 뷰를 반환 할 수 있습니다. 반환 된 데이터로 #DatagridDiv를 업데이트하십시오.

또는 Json에 익숙한 사용자의 컨트롤러 메소드는 부분 뷰가 아닌 Json 형식의 직원 데이터를 반환 할 수 있으며이를 javascript/jquery를 사용하여 #datagridDiv의 html 테이블에 채울 수 있습니다.

1.) 내 인덱스 메서드는이 집계 된 데이터를보기에 표시하기 위해 어떤 종류의 개체를 반환해야합니까?

인덱스 방법에서는 트리 컨트롤로 채워진 3 개의 div와 #TreeDiv가 모두 포함 된보기를 반환 할 수 있습니다. 페이지가로드되면 클라이언트 측에서 선택한 부서를 식별하여 ajax 호출을 작성하고 #datagridDiv를 업데이트 할 수 있습니다. 이 접근법은 클라이언트 측에서 지연되지만, 페이지를로드/div가 업데이트 중임을 나타내는 애니메이션을 표시하는 데 사용할 수 있습니다.

지연 기간을 추가하지 않으려는 경우 트리보기가로드 될 때 선택 될 부서를 식별하고 해당 부서의 부분보기를 채우고 이것을 서버 측의 #datagridDiv에 추가하여 전달하십시오.

+0

왜 내 dataggriddiv에 대한 부분을 만들어야합니까? – Pascal

+0

보기는 head & body 태그와 함께 완전한 html 페이지로 구성됩니다. 부분 뷰는 html 태그 (컨트롤을 나타내는 html 태그) 만 렌더링합니다. ajax 호출을 통해 div 만 업데이트하기 때문에 부분 뷰를 갖는 것이 좋습니다. – Rakesh

+0

왜 Add/Del 노드로 Ajax를 업데이트하는 TreeControl에 대한 부분 뷰를 만들 것을 제안하지 않았습니까? – Pascal

관련 문제