이 시도 :
액션
public ActionResult Index() {
ViewBag.Layout = null;
object layout;
if (RouteData.Values.TryGetValue("layout", out layout)) {
switch(layout.ToString())
{
case "Layout1":
ViewBag.Layout = "~/Views/Shared/_Layout.cshtml";
break;
// ...
}
}
return PartialView("Test");
}
마크 업
@{
Layout = ViewBag.Layout;
}
<div>This is the test page...</div>
라우팅 설정
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }); // Parameter defaults
routes.MapRoute(
"DefaultWithLayout", // Route name
"{layout}/{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }); // Parameter defaults
}
하거나
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{layout}", // URL with parameters
new { controller = "Home", action = "Index", layout = UrlParameter.Optional, id = UrlParameter.Optional }); // Parameter defaults
두 컨트롤러가 'PartialView (someModel)'을 반환합니까? –
GetForm은'PartialView (someModel)'을 반환합니다./Test Route는 PartialView를 사용하여 레이아웃을 추가합니다. –