在我的Layout.cshtml中,我调用RenderAction来显示每个页面请求的菜单:
Html.RenderAction("NiceMenu", "Widgets", new {area = ""});WidgetController需要知道执行Controller和Action的父程序调用它,以便它能够呈现带有突出显示的正确项的菜单。
Widget Controller的 NiceMenu操作如何知道这一点?
发布于 2013-12-13 00:03:33
可以在子操作的视图中使用ParentActionViewContext属性ViewContext:
var parentRouteValues = ViewContext.ParentActionViewContext.RouteData.Values;
@Html.RenderAction("NiceMenu", "Widgets",
new
{
area = parentRouteValues["area"],
controller = parentRouteValues["controller"],
action = parentRouteValues["action"]
})发布于 2013-12-12 22:42:49
我们就是这样做的
var action = (ViewContext.RouteData.Values["action"] ?? "").ToString().ToLower();
var controller = (ViewContext.RouteData.Values["controller"] ?? "").ToString().ToLower();
var area = (ViewContext.RouteData.DataTokens["area"] ?? "").ToString().ToLower();https://stackoverflow.com/questions/20555770
复制相似问题