我有一个母版页,其中渲染了 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"];
}