获取调用渲染操作的页面标题

时间:2016-07-20 10:10:57

标签: asp.net-mvc razor

我使用渲染操作将一些标签注入调用视图。我希望能够获得执行RenderAction方法的视图的标题,但是在局部视图中我似乎无法访问viewbag或viewdata。我的理解是,部分视图获取父视图包/视图数据字典的副本。我已经尝试了ViewBag.Title和ViewData [“title”],但没有返回任何内容。有什么想法吗?

好的,所以我发现如果你创建一个模型,你可以将该模型传递给渲染动作方法

@JSON(format = "dd.MM.yyyy")

然后调用渲染方法

public class ViewInfo{
    public string Title { get; set; }
}

2 个答案:

答案 0 :(得分:0)

使用RenderAction时,该操作使用的模型与调用RenderAction时使用的模型无关。 ViewBagViewData也是如此。如果RenderAction调用的操作不包含逻辑,则可以将其更改为RenderPartial以在父操作和子操作之间共享模型。

答案 1 :(得分:0)

(代表问题作者发布的答案,以便将其从问题帖中移出)

我发现,如果您创建模型,则可以将该模型传递到渲染操作方法中:

public class ViewInfo{
    public string Title { get; set; }
}

然后调用renderaction方法:

@{ Html.RenderAction("RenderTabs", "Tab", new {Title = ViewBag.Title});}