2013-10-26 4 views
0

Google을 며칠 동안 여기에서 검색해 왔습니다. 특정 영역에 다른 레이아웃을 적용하는 방법을 찾았습니다. 나는 로그인 한 사용자가 원하는 사이트의 레이아웃을 선택하도록 허용하거나 관리자가 사이트 레이아웃을 설정할 수 있도록 설정하는 방법을 찾기 위해 노력하고 있습니다.사용자가 선택한 레이아웃 MVC4

예를 들어 메인 사이트에는 2 열 레이아웃이 있습니다. 네비게이션, 로고가 위로 향한 메인 바디. 또는 네비게이션과 로고를 맨 위에 올려 놓고 중간에 사이트 본문을 갖도록 전환 할 수 있습니다.

MVC4에서 이것을 허용하는 방법에 대한 아이디어가 있으십니까?

답변

0

를 통해 선택한 레이아웃 경로를 통과 할 수있다. 당신은 viewBag을 통해 사용되는 레이아웃 페이지를 전달할 수 있습니다


@{ 
    Layout = ViewBag.CurrentLayout; 
} 

post 어쩌면 당신이 중첩 된 레이아웃을 정의하는 데 도움이됩니다.

0

사용자가 선택한 레이아웃을 전달하고보기를로드하는 동안이 레이아웃을 사용할 수 있습니다. 이

public ActionResult Index() 
{ 
    var viewModel = ... 
    return View("Index", "_SomeSpecialLayout", viewModel); 
} 

같은

뭔가 또 다른 방법은 당신은 다른 레이아웃 페이지를 만들 수 있습니다 viewdata 또는 viewbag

관련 문제