Monday, July 11, 2016

Render html in MVC view


In the view:

@{

      new EventsRepository().RenderEventStyles(Sitecore.Context.Item);
}

===============

In Repository:


public HtmlString RenderEventStyles(Item currentItem)
    {
      Item EventItem = currentItem.GetAncestorOrSelfOfTemplate(Sitecore.Feature.Events.Templates._EventLanding.ID);
      StringBuilder sb = new StringBuilder();

      if (EventItem != null)
      {
        MultilistField assetField = EventItem.Fields["CSS"];

        foreach (string value in assetField)
        {
          var item = Sitecore.Context.Database.GetItem(value);

          if (item != null)
          {
            var path = MediaManager.GetMediaUrl(item);
            sb.AppendFormat("<link rel= \"{0}\" type= \"{1}\" href = \"{2}\"></link>", "stylesheet", "text/css", path).AppendLine();
          }
        }

        assetField = EventItem.Fields["CSSIE"];

        foreach (string value in assetField)
        {
          var item = Sitecore.Context.Database.GetItem(value);

          if (item != null)
          {
            var path = MediaManager.GetMediaUrl(item);
            sb.AppendFormat("<link rel= \"{0}\" type= \"{1}\" href = \"{2}\"></link>", "stylesheet", "text/css", path).AppendLine();
          }
        }

        assetField = EventItem.Fields["JS"];

        foreach (string value in assetField)
        {
          var item = Sitecore.Context.Database.GetItem(value);

          if (item != null)
          {
            var path = MediaManager.GetMediaUrl(item);
            //< script type = "text/javascript" charset = "utf-8" src = "@path" ></ script >
            sb.AppendFormat("<script type= \"{0}\" charset = \"{1}\" src = \"{2}\"></link>", "text/javascript", "utf-8", path).AppendLine();
          }
        }
      }

      return new HtmlString(sb.ToString());

    }

No comments:

Post a Comment