Ejemplo n.º 1
0
        /// <summary>
        /// Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
        protected override void Render(HtmlTextWriter writer)
        {
            if (SourceItem == null && Model == null)
            {
                Controls.Clear();

                if (!Sitecore.Context.PageMode.IsNormal && ShowDataSourceUnavailableInfoText)
                {
                    RenderDatasourceUnavailableInfo(writer);
                }

                return;
            }

            if (SourceItem != null && !SourceItem.IsPublishable())
            {
                Controls.Clear();

                if (!Sitecore.Context.PageMode.IsNormal && ShowDataSourceUnpublishableInfoText)
                {
                    RenderDatasourceUnpublishableInfo(writer);
                }

                return;
            }

            if (Model == null)
            {
                Controls.Clear();
                return;
            }

            if (_databound == false)
            {
                Controls.Clear();
                return;
            }
            base.Render(writer);
        }