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
。您需要在主视图中指定值。