C# 如何使用其他渲染页将ViewBag发送到其他渲染页

C# 如何使用其他渲染页将ViewBag发送到其他渲染页,c#,asp.net-mvc,viewbag,C#,Asp.net Mvc,Viewbag,我想做的是从第一个RenderPage()发送一个ViewBag到另一个RenderPage() 在\u Layout.cshtml中,我有3个渲染,称为: @RenderPage("FirstRenderPage") @RenderBody() //Never mind this one @RenderPage("SecondRenderPage") 在FirstRenderPage中,我有一个ViewBag: @ViewBag.Messages = "Hello, World" 在Sec

我想做的是从第一个
RenderPage()
发送一个
ViewBag
到另一个
RenderPage()

\u Layout.cshtml
中,我有3个渲染,称为:

@RenderPage("FirstRenderPage")
@RenderBody() //Never mind this one
@RenderPage("SecondRenderPage")
FirstRenderPage
中,我有一个
ViewBag

@ViewBag.Messages = "Hello, World"
SecondRenderPage
中,我需要显示以下消息:

<h1>@ViewBag.Messages</h1>
@ViewBag.Messages

但问题是,
SecondRenderpage
dint接收到消息。

@RenderPage()
有一个可选的第二个参数
params object[]data
,可用于将附加数据(在您的示例中是
ViewBag.Mesages
)传递到视图

不确定。。我认为
ViewBag
在这里不起作用。。您可以尝试改用
TempData
。@Kartikeya我可以这样做,但问题是如果我使用该解决方案,它会给我的项目带来另一个问题。是的,但是
ViewBag.Messages
在第一个渲染页面内?那么,我如何添加像这样的参数
@RenderPage(“SecondRenderPage”,ViewBag.Messages)
?很抱歉,误解了您分配ViewBag属性的位置。由于您使用的是
@RenderPage
AFAIK,您无法访问页面
ViewDataDictionary
。您需要在主视图中指定值。