我有一个母版页,其中包含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"];
}
string TitlePrefix = (string)ViewContext.ParentActionViewContext.ViewData["TitlePrefix"];
- Piotr Kula