Asp.net mvc 在HtmlHelper扩展方法期间执行哪个操作
我正在研究一个生成HtmlHelper扩展方法的菜单。此方法需要知道正在执行的操作。因此,如果主/索引正在执行,扩展方法将显示指向其他“协调”操作的所有链接。从某种意义上说,在主控制器的索引操作执行期间,我需要知道的只是控制器的名称和正在执行的操作的名称,以便可以执行其他逻辑。这可能吗?试试这个Asp.net mvc 在HtmlHelper扩展方法期间执行哪个操作,asp.net-mvc,Asp.net Mvc,我正在研究一个生成HtmlHelper扩展方法的菜单。此方法需要知道正在执行的操作。因此,如果主/索引正在执行,扩展方法将显示指向其他“协调”操作的所有链接。从某种意义上说,在主控制器的索引操作执行期间,我需要知道的只是控制器的名称和正在执行的操作的名称,以便可以执行其他逻辑。这可能吗?试试这个 var action = HtmlHelper.ViewContext.RouteData.Values["action"]; var controller = HtmlHelper.ViewConte
var action = HtmlHelper.ViewContext.RouteData.Values["action"];
var controller = HtmlHelper.ViewContext.RouteData.Values["controller"];
我使用过滤器属性执行类似的操作。您可以按如下方式获取操作名称:
filterContext.RouteData.Values["action"].ToString();
我用它来禁用代表当前上下文的菜单项。我需要类似的东西,但不完全需要。我希望能够得到一些强类型的方法来知道哪个操作正在执行 因此,请在执行AOP时澄清,我只允许访问给定的操作,前提是用户拥有该操作的权限
使用字符串来确定要检查的规则的问题在于,如果某个开发人员重命名了某个操作,我不会得到一个编译错误,告诉我我的规则被破坏了。先生,你是人类中的神。非常感谢你。