public static IHtmlString ActiveIfCurrent(this WebViewPage page, NavUrl navUrl) { var request = page.Request; string areaName = (string)request.RequestContext.RouteData.DataTokens["area"] ?? ""; string controllerName = (string)request.RequestContext.RouteData.Values["controller"] ?? ""; string actionName = (string)request.RequestContext.RouteData.Values["action"] ?? ""; if (navUrl.Area == areaName && navUrl.Controller == controllerName && navUrl.Action == actionName) { return page.Html.Raw("class=\"active\""); } return page.Html.Raw(""); }
public static string GenerateUrl(this WebViewPage page, NavUrl navUrl) { return page.Url.Action(navUrl.Action, navUrl.Controller, new { area = navUrl.Area }); }