1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
//------------------------------------------------------------------------------
// <copyright file="WmlValidationSummaryAdapter.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
#if WMLSUPPORT
namespace System.Web.UI.WebControls.Adapters {
using System.Collections;
using System.Web.UI.WebControls;
using System.Web.Util;
public class WmlValidationSummaryAdapter : ValidationSummaryAdapter {
private BulletedList bulletedList;
private bool singleParagraph = false;
protected internal override void OnInit(EventArgs e) {
bulletedList = new BulletedList();
Control.Controls.Add(bulletedList);
}
protected internal override void Render(HtmlTextWriter markupWriter) {
WmlTextWriter writer = (WmlTextWriter)markupWriter;
String[] errorMessages = null;
bool inError = false;
bool enteredStyle = false;
if (!Control.Enabled || !Control.Visible || !Control.ShowSummary) {
return;
}
errorMessages = Control.GetErrorMessages(out inError);
if (!inError) {
return;
}
if (Control.DisplayMode == ValidationSummaryDisplayMode.SingleParagraph) {
singleParagraph = true;
}
if (Control.HeaderText.Length > 0) {
writer.EnterStyle(Control.ControlStyle);
enteredStyle = true;
writer.WriteEncodedText(Control.HeaderText);
WriteSeparator(writer);
}
if (!String.IsNullOrEmpty(errorMessages)) {
if (!enteredStyle) {
writer.EnterStyle(Control.ControlStyle);
enteredStyle = true;
}
if (singleParagraph) {
foreach (String errorMessage in errorMessages) {
Debug.Assert(errorMessage != null && errorMessage.Length > 0, "Bad Error Messages");
writer.WriteEncodedText(errorMessage);
WriteSeparator(writer);
}
writer.WriteBreak();
}
else {
ArrayList arr = new ArrayList();
foreach (String errorMessage in errorMessages) {
Debug.Assert(errorMessage != null && errorMessage.Length > 0, "Bad Error Messages");
arr.Add(errorMessage);
}
bulletedList.DisplayMode = BulletedListDisplayMode.Text;
bulletedList.DataSource = arr;
bulletedList.DataBind();
RenderChildren(writer);
}
}
if (enteredStyle) {
writer.ExitStyle(Control.ControlStyle);
}
}
private void WriteSeparator(HtmlTextWriter writer) {
if (singleParagraph) {
writer.Write(" ");
}
else {
writer.WriteBreak();
}
}
}
}
#endif
|