예제 #1
0
        public static string GetActionKey(this HtmlHelper helper)
        {
            var routeData = helper.ViewContext.RouteData;
            if (routeData.Values.ContainsKey("MS_DirectRouteMatches"))
            {
                routeData = ((IEnumerable<RouteData>)routeData.Values["MS_DirectRouteMatches"]).First();
            }
            IActionKeyService actionKeyService = new ActionKeyService();
            var controller = routeData.Values["controller"].ToString();
            var area = routeData.Values["area"];
            var actionKeyValue = actionKeyService.GetActionKey(helper.ViewContext.RequestContext.HttpContext.GetCookieValue(AntiForgeryConfig.CookieName), controller, area?.ToString());

            return actionKeyValue;
        }