System.Web.UI.WebControls.ValidationSummary.Render C# (CSharp) Method

Render() protected method

protected Render ( HtmlTextWriter writer ) : void
writer HtmlTextWriter
return void
		override void Render(HtmlTextWriter writer) {
#if NET_2_0
			if (!IsEnabled)
				return;
#endif
			ValidatorCollection	validators;
			ArrayList		errors;

			// First, figure out if there's even data to deal with
#if NET_2_0
			validators = Page.GetValidators (ValidationGroup);
#else
			validators = Page.Validators;
#endif

			// We have validators
			errors = new ArrayList(validators.Count);
			for (int i = 0; i < validators.Count; i++) {
				if (!validators[i].IsValid) {
					errors.Add(validators[i].ErrorMessage);
				}
			}

			has_errors = errors.Count > 0;

#if NET_2_0
			if (EnableClientScript && pre_render_called && Page.AreValidatorsUplevel (ValidationGroup)) {
#else
			if (EnableClientScript && pre_render_called && Page.AreValidatorsUplevel ()) {
#endif
#if NET_2_0
				if (Page.ScriptManager != null) {
					Page.ScriptManager.RegisterArrayDeclarationExternal (this, "Page_ValidationSummaries", String.Concat ("document.getElementById ('", ClientID, "')"));
					Page.ScriptManager.RegisterStartupScriptExternal (this, typeof (BaseValidator), ClientID + "DisposeScript",
@"
document.getElementById('" + ClientID + @"').dispose = function() {
	Array.remove(Page_ValidationSummaries, document.getElementById('" + ClientID + @"'));
}
", true);
					}
				else
#endif
				Page.ClientScript.RegisterArrayDeclaration ("Page_ValidationSummaries",
									    String.Concat ("document.getElementById ('", ClientID, "')"));
			}

			if ((ShowSummary && has_errors) || (EnableClientScript && pre_render_called))
				base.RenderBeginTag(writer);

			if (ShowSummary && has_errors) {
				switch(DisplayMode) {
					case ValidationSummaryDisplayMode.BulletList: {
						if (HeaderText.Length > 0) {
							writer.Write(HeaderText);
						}

						writer.Write("<ul>");
						for (int i = 0; i < errors.Count; i++) {
							writer.Write("<li>");
							writer.Write(errors[i]);
							writer.Write("</li>");
						}
						writer.Write("</ul>");
						break;
					}

					case ValidationSummaryDisplayMode.List: {
						if (HeaderText.Length > 0) {
							writer.Write(HeaderText);
#if NET_2_0
							writer.Write("<br />");
#else
							writer.Write("<br>");
#endif
						}

						for (int i = 0; i < errors.Count; i++) {
							writer.Write(errors[i]);
#if NET_2_0
							writer.Write("<br />");
#else
							writer.Write("<br>");
#endif
						}
						break;
					}

					case ValidationSummaryDisplayMode.SingleParagraph: {
						if (HeaderText.Length > 0) {
							writer.Write(HeaderText);
							writer.Write(" ");
						}

						for (int i = 0; i < errors.Count; i++) {
							writer.Write(errors[i]);
							writer.Write(" ");
						}
#if NET_2_0
						writer.Write("<br />");
#else
						writer.Write("<br>");
#endif

						break;
					}
				}
			}

			if ((ShowSummary && has_errors) || (EnableClientScript && pre_render_called))
				base.RenderEndTag(writer);
		}
		#endregion	// Public Instance Methods

		bool pre_render_called;
		bool has_errors;
	}
}