我需要能够在我的自定义助手类中获取控制器名称。
我有以下内容:
- 调用控制器的布局视图:“HelperController”,操作:“菜单”,如下所示:
@Html.Action("Menu", "Helper")
这会调用 ActionResult 并生成一个 html:
@model List<MvcMenuItem> @{ Layout = null; } @{ @Html.Menu(this.ViewContext).ClientId("navMain").AddRange(Model).Render() }
这调用“
public static class MvcMenuExtensions
”并且在那里(在我的Render()
方法中)我需要能够获取我当前所在的控制器名称,而不是正在调用的控制器名称MvcMenuExtensions
我试过这个:
string controller = this.ViewContext.RouteData.Values["controller"].ToString();
但这导致控制器是“ Helper
”控制器,而不是我所在的当前控制器。因为这个“ ActionResult
”是从页面上的任何地方调用的(它在布局中)。
谢谢