Пример #1
0
        public MvcHtmlString Render()
        {
            var ulTag = new TagBuilder("ul");

            ulTag.AddNotEmptyCssClass(CssClass);
            ulTag.GenerateId(Id);
            ulTag.MergeAttributes(HtmlProperties);
            var itemNumber = 0;

            foreach (var item in Menu.Items)
            {
                itemNumber++;
                var liTag = new TagBuilder("li");
                liTag.AddNotEmptyCssClass(ItemCssClass);
                if (Menu.IsSelected(item))
                {
                    liTag.AddNotEmptyCssClass(SelectedItemCssClass);
                }
                if (itemNumber == 1)
                {
                    liTag.AddNotEmptyCssClass(FirstItemCssClass);
                }
                if (itemNumber == Menu.Items.Count)
                {
                    liTag.AddNotEmptyCssClass(LastItemCssClass);
                }
                if (string.IsNullOrEmpty(item.OnClick))
                {
                    var link = Helper.ActionLink(item.Text, item.Url.ActionName, item.Url.ControllerName ?? string.Empty);
                    liTag.InnerHtml = link.ToHtmlString();
                }
                else
                {
                    // see http://stackoverflow.com/questions/134845/href-tag-for-javascript-links-or-javascriptvoid0
                    liTag.InnerHtml = MvcHtmlString.Create(String.Format("<a onclick=\"{1}\">{0}</a>", item.Text, item.OnClick)).ToHtmlString();
                }
                ulTag.InnerHtml += MvcHtmlString.Create(liTag.ToString(TagRenderMode.Normal));
            }
            return(MvcHtmlString.Create(ulTag.ToString(TagRenderMode.Normal)));
        }
Пример #2
0
        public MvcHtmlString Render()
        {
            var ulTag = new TagBuilder("ul");

            ulTag.AddNotEmptyCssClass(CssClass);
            ulTag.GenerateId(Id);
            ulTag.MergeAttributes(HtmlProperties);
            if (Gallery != null && Gallery.Photos != null)
            {
                var itemNumber = 0;
                foreach (var photo in Gallery.Photos)
                {
                    itemNumber++;
                    var liTag = new TagBuilder("li");
                    liTag.AddNotEmptyCssClass(ItemCssClass);
                    if (itemNumber == 1)
                    {
                        liTag.AddNotEmptyCssClass(FirstItemCssClass);
                    }
                    if (itemNumber == Gallery.Photos.Count)
                    {
                        liTag.AddNotEmptyCssClass(LastItemCssClass);
                    }
                    var imgCssClass = (photo.Orientation == Orientation.Horizontal ? CssClassLandscape : CssClassPortrait);
                    var link        = Helper.ImageLink(
                        String.Empty,
                        VirtualPathUtility.ToAppRelative(photo.ThumbnailSource),
                        photo.AlternateText,
                        new { @class = imgCssClass },
                        String.Empty,
                        VirtualPathUtility.ToAppRelative(photo.ImageSource),
                        new { @target = "_blank", @rel = "photo-box" });
                    liTag.InnerHtml  = link.ToHtmlString();
                    ulTag.InnerHtml += MvcHtmlString.Create(liTag.ToString(TagRenderMode.Normal));
                }
            }
            return(MvcHtmlString.Create(ulTag.ToString(TagRenderMode.Normal)));
        }
Пример #3
0
 public MvcHtmlString Render()
 {
     var ulTag = new TagBuilder("ul");
     ulTag.AddNotEmptyCssClass(CssClass);
     ulTag.GenerateId(Id);
     ulTag.MergeAttributes(HtmlProperties);
     if (Gallery != null && Gallery.Photos != null)
     {
         var itemNumber = 0;
         foreach (var photo in Gallery.Photos)
         {
             itemNumber++;
             var liTag = new TagBuilder("li");
             liTag.AddNotEmptyCssClass(ItemCssClass);
             if (itemNumber == 1)
             {
                 liTag.AddNotEmptyCssClass(FirstItemCssClass);
             }
             if (itemNumber == Gallery.Photos.Count)
             {
                 liTag.AddNotEmptyCssClass(LastItemCssClass);
             }
             var imgCssClass = (photo.Orientation == Orientation.Horizontal ? CssClassLandscape : CssClassPortrait);
             var link = Helper.ImageLink(
                 String.Empty,
                 VirtualPathUtility.ToAppRelative(photo.ThumbnailSource),
                 photo.AlternateText,
                 new { @class = imgCssClass },
                 String.Empty,
                 VirtualPathUtility.ToAppRelative(photo.ImageSource),
                 new { @target = "_blank", @rel = "photo-box" });
             liTag.InnerHtml = link.ToHtmlString();
             ulTag.InnerHtml += MvcHtmlString.Create(liTag.ToString(TagRenderMode.Normal));
         }
     }
     return MvcHtmlString.Create(ulTag.ToString(TagRenderMode.Normal));
 }
Пример #4
0
 public MvcHtmlString Render()
 {
     var ulTag = new TagBuilder("ul");
     ulTag.AddNotEmptyCssClass(CssClass);
     ulTag.GenerateId(Id);
     ulTag.MergeAttributes(HtmlProperties);
     var itemNumber = 0;
     foreach (var item in Menu.Items)
     {
         itemNumber++;
         var liTag = new TagBuilder("li");
         liTag.AddNotEmptyCssClass(ItemCssClass);
         if (Menu.IsSelected(item))
         {
             liTag.AddNotEmptyCssClass(SelectedItemCssClass);
         }
         if (itemNumber == 1)
         {
             liTag.AddNotEmptyCssClass(FirstItemCssClass);
         }
         if (itemNumber == Menu.Items.Count)
         {
             liTag.AddNotEmptyCssClass(LastItemCssClass);
         }
         if (string.IsNullOrEmpty(item.OnClick))
         {
             var link = Helper.ActionLink(item.Text, item.Url.ActionName, item.Url.ControllerName ?? string.Empty);
             liTag.InnerHtml = link.ToHtmlString();
         }
         else
         {
             // see http://stackoverflow.com/questions/134845/href-tag-for-javascript-links-or-javascriptvoid0
             liTag.InnerHtml = MvcHtmlString.Create(String.Format("<a onclick=\"{1}\">{0}</a>", item.Text, item.OnClick)).ToHtmlString();
         }
         ulTag.InnerHtml += MvcHtmlString.Create(liTag.ToString(TagRenderMode.Normal));
     }
     return MvcHtmlString.Create(ulTag.ToString(TagRenderMode.Normal));
 }