public static string NextNav(string CurrentNav, EnumWrapper.Pages CurrentPage, int?CurrentID) { var nav = CurrentNav ?? string.Empty; if (!string.IsNullOrWhiteSpace(nav)) { nav += itemSeparator; } nav += navMapper.Where(p => p.Item1 == CurrentPage).Select(p => p.Item2).FirstOrDefault() + (CurrentID.HasValue ? CurrentID.Value.ToString() : ""); return(nav); }
//public static string ActionNext(this UrlHelper Url, string Action, string Controller = "", object RouteValues = null, EnumWrapper.Pages CurrentPage = EnumWrapper.Pages._NONE, int? CurrentID = null) //{ // if (string.IsNullOrWhiteSpace(Controller)) // { // Controller = (Url.RequestContext.RouteData.Values["controller"] ?? "").ToString(); // } // var dict = RouteValues.GetType() // .GetProperties() // .ToDictionary(p => p.Name, p => p.GetValue(RouteValues, null)); // var nav = Url.RequestContext.HttpContext.Request.QueryString["nav"]; // if (dict.ContainsKey("nav")) // { // //nav = (dict["nav"] != null ? dict["nav"].ToString() : ""); // } // else // { // dict.Add("nav", ""); // } // dict["nav"] = NavigationHelper.NextNav(nav, CurrentPage, CurrentID); // var rv = new RouteValueDictionary(dict); // var finalRes = Url.Action(Action, Controller, rv); // return finalRes; //} public static string Nav(this UrlHelper Url, EnumWrapper.Pages CurrentPage = EnumWrapper.Pages._NONE, int?CurrentID = null) { var nav = Url.RequestContext.HttpContext.Request.QueryString["nav"] ?? ""; return(NavigationHelper.NextNav(nav, CurrentPage, CurrentID)); }