Пример #1
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public override void Render(System.IO.TextWriter writer)
        {
            DynamicControl control = DynamicRazorRenderingType.CreateControl(Path, ContextName) as DynamicControl;

            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)
        {
            DynamicControl control = DynamicRazorRenderingType.CreateControl(Path, ContextName) as DynamicControl;

            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);
            }
        }
Пример #3
0
        /// <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);
        }