DefconDotNet

Dynamic Navigation

Sep 28th, 2012
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.72 KB | None | 0 0
  1.  
  2.         public static MvcHtmlString SideNavigationTab(this HtmlHelper htmlHelper, string tabName, string linkText, string actionName, string controllerName,
  3.                                                       Func<dynamic, MvcHtmlString>[] subMenu = null, string area = "", string clientid = "")
  4.         {
  5.             var dt = new TagBuilder("dt");
  6.    
  7.             if (!String.IsNullOrEmpty(clientid))
  8.                 dt.Attributes.Add("id", clientid);
  9.  
  10.             if ((string)HttpContext.Current.Items["CURRENT_TAB_NAME"] == tabName)
  11.                 dt.AddCssClass("active");
  12.  
  13.             var link = htmlHelper.ActionLink(linkText, actionName, controllerName, new {area=""}, null);
  14.  
  15.             dt.InnerHtml = String.Format("<span class=\"marker\"></span>{0}", link);
  16.  
  17.             if (subMenu == null)
  18.                 return MvcHtmlString.Create(dt.ToString());
  19.  
  20.             var subList = new TagBuilder("dd");
  21.             foreach (var sub in subMenu)
  22.                 subList.InnerHtml += sub(null).ToString();
  23.            
  24.  
  25.             return MvcHtmlString.Create(dt.ToString() + subList);
  26.         }
  27.  
  28.         public static MvcHtmlString SideSubNavigationTab(this HtmlHelper htmlHelper, string tabName, string linkText, string actionName, string controllerName, string area = "", string clientid = "")
  29.         {
  30.             var div = new TagBuilder("div");
  31.    
  32.             if ((string)HttpContext.Current.Items["CURRENT_TAB_NAME"] == tabName)
  33.                 div.AddCssClass("active");
  34.            
  35.             var link = htmlHelper.ActionLink(linkText, actionName, controllerName, new { area = "" }, null);
  36.             div.InnerHtml = link.ToString();
  37.  
  38.             return MvcHtmlString.Create(div.ToString());
  39.         }
Advertisement
Add Comment
Please, Sign In to add comment