2016-09-01 4 views
15

다른 뷰 내부에서 부분 뷰가 아닌 완전한 뷰를 렌더링하는 방법은 무엇입니까?Asp.Net에서 뷰 내에서 뷰 렌더링 mvc

시나리오에 따라 시나리오가 다른데 컨트롤러가 같아서 다른 컨트롤러를 사용하여 다른 레이아웃으로 이미 동일한 뷰를 렌더링하고 싶습니다.

내가 추가 한 제품의 목록을 보여줍니다 홈 컨트롤러의 위시리스트 페이지를 가지고 있고, 사용자가 로그인 할 때 내가 위시리스트를 클릭하면 사용자가 로그인 할 때, 그것은 또한 나에게 탐색을 보여줍니다.

을 나는 것을 어떻게 할 것 ??

+0

View ("ViewName", Model) ... 같은 시도 했습니까? ...? –

+0

.cshtml 파일에서이 작업을 수행하고 싶습니다. – user6594294

+1

http://programmers.stackexchange.com/questions/151182/is-it-a-bad-practice-to-call-a-view-from-another-view-in -mvc –

답변

25

하지 많은 개발자들이 이것에 대해 알고 있지만 당신이 RenderPage을 사용할 수 있습니다, 그것은 특별히 그 목적을 위해 설계 (다른보기 내부 MVC보기를 렌더링)

@RenderPage("~/Views/Shared/SampleView.cshtml") 
+1

잘 했어 Denys, 이것은 Qadeer가 찾고있는 것 같은 exacly입니다. 저는 이것을 응용 프로그램에서 테스트했으며 작동합니다. 모델로 이것을 테스트하지는 못했지만 작동 할 것이라고 확신합니다. 잘 했어. –

+0

정확하게, 나는 이것을 원했다. – user6594294

7

당신은 여전히 ​​만들거나 별도의 컨트롤러가있는 부분보기를 사용하고 단지 컨트롤러와 면도칼에서 그것을 호출합니다 RenderAction()

[ChildActionOnly] 
public ActionResult ActionPartialView(string p1) 

{ 
    //code... 

    return PartialView(); 
} 

위의 코드는 어떤 컨트롤러 자체 컨트롤러에있을 수 있습니다 사용할 수 있습니다.

면도기

:

@{ Html.RenderAction("Index", "Home"); } 

희망

+0

조치 색인의 매개 변수는 무엇입니까? – FrenkyB