2014-12-06 85 views
0

我想要做的是发送ViewBag从第一个RenderPage()到其他RenderPage()如何将ViewBag发送到其他RenderPage使用其他RenderPage

_Layout.cshtml我有3个渲染所谓:

@RenderPage("FirstRenderPage") 
@RenderBody() //Never mind this one 
@RenderPage("SecondRenderPage") 

FirstRenderPage我有一个ViewBag

@ViewBag.Messages = "Hello, World" 

,并在SecondRenderPage我需要显示的消息:

<h1>@ViewBag.Messages</h1> 

但问题是SecondRenderpage dint收到消息。

+0

**不确定** ..我不认为'ViewBag'会在这里工作..您可以尝试使用'TempData'来代替。 – 2014-12-06 04:09:45

+0

@Kartikeya我可以做到这一点,但问题是,如果我去那个解决方案,它会给我的项目带来另一个问题。 – 2014-12-06 04:41:35

回答

1

@RenderPage()有一个可选的第二个参数params object[] data,可用于将其他数据(在您的案例ViewBag.Mesages)传递给视图。 Refer documentation

+0

是的,但'ViewBag.Messages'在第一个渲染页面内?所以我怎么能像这样'@RenderPage(“SecondRenderPage”,ViewBag.Messages)''添加参数? – 2014-12-06 04:37:00

+0

对不起,误解你分配ViewBag属性的地方。由于你使用'@ RenderPage' AFAIK,你不能访问'ViewDataDictionary'页面。您需要在主视图中分配值。 – 2014-12-06 04:58:42