public void AddContent(IRenderTask task) { if (this.ContentTask == null) { this.ContentTask = new List <IRenderTask>(); } this.ContentTask.Add(task); }
public static string Set(Guid SiteId, IRenderTask task) { string unique = task.GetType().Name.ToString() + task.GetHashCode().ToString(); var guid = Lib.Security.Hash.ComputeHashGuid(unique); var sitecache = GetSiteCaches(SiteId); if (!sitecache.ContainsKey(guid)) { sitecache[guid] = task; } return(StartMark + guid.ToString() + EndMark); }
public static string Render(this List <IRenderTask> task, RenderContext context) { StringBuilder sb = new StringBuilder(); IRenderTask headertask = null; int headerpos = 0; foreach (var item in task) { if (item.ClearBefore) { if (headertask != null) { var header = headertask.Render(context); sb.Insert(headerpos, header); headertask = null; headerpos = 0; } string currentvalue = sb.ToString(); sb.Clear(); context.AddPlaceHolderContent("", currentvalue); } if (item is HeaderRenderTask) { headertask = item; headerpos = sb.Length; } else { sb.Append(item.Render(context)); } } if (headertask != null) { var header = headertask.Render(context); sb.Insert(headerpos, header); } return(sb.ToString()); }