3 개의 부분보기가 렌더링되는 하나의 마스터 페이지가 있고보기에 대한 하나의 렌더링 본문 (콘텐츠 자리 표시 자)이 포함되어 있습니다.
내 자식보기에서 마스터 페이지에 렌더링 된 부분보기 중 하나로 데이터 (모든 문자열)를 전달하려고합니다. 그리고 이것을 위해 나는 사용하고 Viewbag
있지만 부모보기에서 액세스 할 수 없습니다.
내 코드는 다음과 같습니다.
내 마스터 페이지 : [ Main_Layout.chtml
]
<body>
<div>
@{Html.RenderAction("Header_PartialView", "Home");}
</div>
<div>
<table cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td id="tdLeft" class="lftPanel_Con">
<div>
@{Html.RenderAction("LeftPanel_PartialView", "Home");}
</div>
</td>
<td id="tdRight" width="100%">
<div>
@RenderBody()
</div>
</td>
</tr>
</table>
</div>
<!--start footer-->
<div>
@{Html.RenderAction("Footer_PartialView", "Home");}
</div>
</body>
내 아이보기 : [ TestPage1.chtml
]
@{
ViewBag.Title = "TestPage1";
Layout = "~/Views/Shared/Main_LayoutPage.cshtml";
var test1 = ViewBag.testData1;
var test2 = ViewData["testData2"];
}
<h2>TestPage1</h2>
<div>This is only for testing</div>
내 컨트롤러 코드 :
public ViewResult TestPage1()
{
ViewBag.testData1 = "My first view bag data";
ViewData["testData2"] = "My second view data";
return View();
}
이제 Header_PartialView
뷰 에서 내 TestPage의 데이터에 액세스하고 싶습니다 .
@{
var test = ViewBag.testData1;
var test2 = ViewData["testData2"];
}
액세스의 Header_PartialView에서 TestPage의 데이터 당신은에 매개 변수로 전달할 필요 Html.RenderAction()
에 Main_LayoutPage.cshtml
이 같은 :
@{ var test = ViewBag.testData1; }
@{Html.RenderAction("Header_PartialView", "Home", new { test = test });}
그리고 Header_PartialView
실제로 string test
레이아웃에서 ViewBag가 여기에 오지 않기 때문에 매개 변수를 추가 하고 모델처럼 전달하십시오.
public ActionResult Header_PartialView(string test)
{
return View(model: test);
}
그런 다음 Header_PartialView.cshtml
코드를 얻습니다.
@model string
@{
Layout = null;
}
<div>@Model</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다