/// <summary> /// Renders the specified writer. /// </summary> /// <param name="writer">The writer.</param> public override void Render(System.IO.TextWriter writer) { WebControl control = TypedRazorRenderingType.CreateControl(Path, Type, Assembly, ContextName) as WebControl; if (control != null) { HtmlTextWriter htmlWriter = new HtmlTextWriter(writer); control.DataSource = this.DataSource; control.RenderControl(htmlWriter); } }
/// <summary> /// Renders the specified writer. /// </summary> /// <param name="writer">The writer.</param> public override void Render(System.IO.TextWriter writer) { WebControl control = TypedRazorRenderingType.CreateControl(Path, ContextName) as WebControl; if (control != null) { control.Parameters = Sitecore.Mvc.Presentation.RenderingContext.CurrentOrNull.Rendering[Sc.GlassHtml.Parameters] ?? string.Empty; HtmlTextWriter htmlWriter = new HtmlTextWriter(writer); control.DataSource = this.DataSource; control.RenderControl(htmlWriter); } }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event. /// </summary> /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnLoad(EventArgs e) { var item = Sitecore.Context.Database.GetItem(Path); if (item == null) { return; } NameValueCollection parameters = new NameValueCollection(); foreach (Field field in item.Fields) { parameters.Add(field.Name, field.Value); } IRenderingType renderType = null; if (item.TemplateID == SitecoreIds.GlassBehindRazorId) { renderType = new BehindRazorRenderingType(); } else if (item.TemplateID == SitecoreIds.GlassDynamicRazorId) { renderType = new DynamicRazorRenderingType(); } else if (item.TemplateID == SitecoreIds.GlassTypedRazorId) { renderType = new TypedRazorRenderingType(); } _control = renderType.GetControl(parameters, false) as WebControl; _control.DataSource = this.DataSource; this.Controls.Add(_control); base.OnLoad(e); }