我使用渲染操作将一些标签注入调用视图。我希望能够获得执行RenderAction方法的视图的标题,但是在局部视图中我似乎无法访问viewbag或viewdata。我的理解是,部分视图获取父视图包/视图数据字典的副本。我已经尝试了ViewBag.Title和ViewData [“title”],但没有返回任何内容。有什么想法吗?
好的,所以我发现如果你创建一个模型,你可以将该模型传递给渲染动作方法
@JSON(format = "dd.MM.yyyy")
然后调用渲染方法
public class ViewInfo{
public string Title { get; set; }
}
答案 0 :(得分:0)
使用RenderAction
时,该操作使用的模型与调用RenderAction
时使用的模型无关。 ViewBag
和ViewData
也是如此。如果RenderAction
调用的操作不包含逻辑,则可以将其更改为RenderPartial
以在父操作和子操作之间共享模型。
答案 1 :(得分:0)
(代表问题作者发布的答案,以便将其从问题帖中移出)。
我发现,如果您创建模型,则可以将该模型传递到渲染操作方法中:
public class ViewInfo{
public string Title { get; set; }
}
然后调用renderaction方法:
@{ Html.RenderAction("RenderTabs", "Tab", new {Title = ViewBag.Title});}