MVC 2 RenderAction

时间:2010-01-18 20:29:13

标签: asp.net-mvc

我在ViewData中有一个值,让我们说htmlhelper.ViewData [“myData”] =“some”;

在部分页面中,我可以覆盖myData的值。

但是当我使用Html.RenderAction()并调用部分页面时。

在同一部分页面中,htmlhelper.ViewData [“myData”]为空。

2 个答案:

答案 0 :(得分:3)

当您调用RenderAction时,您将为部分页面创建一个全新的ViewData实例。如果您希望ViewData [“myData”]被其他操作看到,请将其传递给子动作或将其放入TempData。

答案 1 :(得分:0)

我从MVC源代码中找到了答案。很酷,我们将MVC作为开源。

htmlHelper.ViewContext.HttpContext.Items["myData"]

这将保留Partial和RenderAction案例的值。