저는 최근에 ASP.NET - MVC 4를 사용하여 웹 사이트를 구축하기 시작했으며, 어떻게 작동하는지에 대해 머리를 쓰려고합니다.부분보기 용 컨트롤러 ASP.NET MVC
모든 페이지에 표시하고자하는 데이터가 있으며 부분보기가이를 위해 유용하다는 것을 알고 있습니다.
부분보기에 항상 데이터를 제공하는 컨트롤러를 만들 수 있습니까? 아니면 어떻게 해결할 수 있습니까?
저는 최근에 ASP.NET - MVC 4를 사용하여 웹 사이트를 구축하기 시작했으며, 어떻게 작동하는지에 대해 머리를 쓰려고합니다.부분보기 용 컨트롤러 ASP.NET MVC
모든 페이지에 표시하고자하는 데이터가 있으며 부분보기가이를 위해 유용하다는 것을 알고 있습니다.
부분보기에 항상 데이터를 제공하는 컨트롤러를 만들 수 있습니까? 아니면 어떻게 해결할 수 있습니까?
하위 작업이라고합니다.
Html.Action(...)
으로 전화하십시오.
부분 뷰에 대한 컨트롤러 동작을 생성 할 수 있습니다. 당신은 모든 페이지에 어떤 것을 inlcluding를 찾고 있다면, 당신은 당신의 _Layout.cshtml 페이지
에 당신이
public ActionResult UserInfo()
{
UserViewModel objVm=GetUserInf();
// do some stuff
return View("PartialUserInfo",objVM);
}
같은 부분 뷰를 반환하는 일반적인 액션 메소드를 만들 수 추가에 대해 생각해야 이 컨트롤러의 이름은 사용자입니다 가정 (당신의 Views/Users
폴더에 존재하는 "PartialUserInfo
"이름을 가진 뷰를 반환합니다. 당신이보기 방법
returnView("Partial/UserInfo",objVm);
를 호출 할 때 당신이 그것을 언급 할 수있는 다른 위치가보기를 지정하려면 0
Views/Users/Partial
폴더에 "UserInfo"라는보기가 반환됩니다. 당신의 부분보기에
, 당신은 doint에 의해 (있는 경우)이
@model UserViewModel
@{
Layout=null;
}
한 가지 방법은 부모 뷰의 모델을 (하나의 모든 부분 지문을 호스팅)하는 것입니다 일반 레이아웃을 비활성화 할 수 있습니다 그 모델에 속성으로 부분적인 전망에 대한 모델을 포함
EX :
MainModel.ModelForPArtialView1
MainModel.ModelForPArtialView2
MainModel.ModelForPArtialView3
상위 뷰에서이 작업을 수행 할 수 있습니다 그 방법
@Html.Partial("PartialView1",MainModel.ModelForPArtialView1)
@Html.Partial("PartialView2",MainModel.ModelForPArtialView2)
@Html.Partial("PartialView3",MainModel.ModelForPArtialView3)
또한 솔루션은보기간에 콘텐츠가 변경되는지 여부에 따라 달라집니다. 부분 뷰의 내용은 모든 부모 뷰에서 정확히 동일합니까? – TGH
추가 요청이 생성됩니까? – johan
@ johan : 아니요. – SLaks