2013-04-16 4 views
0

저는 mvc를 처음 사용했습니다. Winforms를 사용하여 공정한 개발을 수행했으며 현재는 MVC 프로젝트를 진행 중입니다. winforms 프로젝트에는 모든 직원을 표시하는 드롭 다운 목록 컨트롤과 같은 표준 컨트롤이 있습니다. 이 컨트롤은 직원을 확보하고 표시하는 방법을 알고 있습니다. 선택한 직원에게 제공하는 속성을 표시합니다. 폼은이 컨트롤을 배치하고 사용해야합니다.ASP.NET MVC 부분 컨트롤

지금 내 질문에 어떻게 aps.net MVC (보기에서)이 얻을 수 있습니다. 부분 뷰를 시도했지만 상위 뷰에 선택한 값을 표시하려면 어떻게해야합니까?

+1

Winforms와 같은 방식으로 작업을 시도하면 좌절 할 것입니다. 웹은 매우 다른 짐승입니다. 익숙한 것처럼 MVC를 작동시키지 말고 차이점을 포용 해보십시오. asp.net/mvc 페이지의 오른쪽에있는 비디오를보십시오. –

답변

1

MVC에서 Views에는 표시 논리 이외의 논리가 포함되어서는 안됩니다.

Controller가 또는 다음 직원을 표시하는 방법을 알고있는 View에 전달합니다 직원 Model을 만들 "직원을 얻는 방법을 알고있는"사람이어야한다, 대부분의 경우, 그것은 엄격하게 형식의 일 것입니다 인 View입니다.

1

나는 이것이 당신이 달성하려고하는지 생각 :

말, 모델에, 당신은 직원 (또는 목록 중 하나 이상)이 있습니다

Employee Employee { get; set; } 

그래서, 주를 보기는 다음과 같아야합니다.

@Html.DisplayFor(Model => Model.Employee); 

그러나 어떻게 템플릿을 만들 수 있습니까?

이 단계에서 한 걸음 뒤로 물러나서 새로운 ViewModel, EmployeeViewModel을 작성하는 것을 고려해야합니다 (이 부분은 "부분보기"여야 함). 지금

EmployeeViewModel Employee { get; set; } 

당신 조회/공유라는 DisplayTemplates에 폴더를 만들고 EmployeeViewModel.cshtml을 만듭니다

그래서 지금 당신은 할 수 있습니다. 명확히하기 위해 이제/Views/Shared/DisplayTemplates/EmployeeViewModel.cshtml을 갖게됩니다.

@model YourNamespace.EmployeeViewModel 

을 그리고 지금 당신은 단순히이보기에서 사용할 수 있습니다 :

이의 상단 선은 읽어야 당신이 시작하는 정도로 충분해야한다

@Html.LabelFor(model => model.EmployeeName) // or whatever properties you have 

합니다.

0

PartialView는 문제가 없습니다. 따라서 'PartialView'키워드로 일부 콘텐츠를 검색하십시오.