예제 #1
0
        /// <summary>
        /// Renders the view.
        /// </summary>
        /// <remarks>
        /// Should an error occur (ContentException being set) and there are no error controls registered then the error message will rendered in the top of the view.
        /// Otherwise errors (if any) are viewed within the registered error control(s).
        /// </remarks>
        /// <param name="writer"></param>
        protected override void Render(HtmlTextWriter writer)
        {
            if (this.ContentException != null && _errorControls.Count == 0)
            {
                ErrorView.RenderContentError(writer, this.ContentException);
            }

            try
            {
                base.Render(writer);
            }
            catch (Exception e) //logged
            {
                Logger.WriteException(e);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "sn-view-main");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "sn-view-body");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                ErrorView.RenderContentError(writer, e);
                writer.RenderEndTag();
                writer.RenderEndTag();
            }
        }