|
//------------------------------------------------------------------------------
// <copyright file="BaseValdiatorDesigner.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.UI.Design.MobileControls
{
using System;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.WebControls;
using System.Web.UI.MobileControls.Adapters;
using System.Web.UI.Design.MobileControls.Adapters;
/// <summary>
/// <para>
/// Provides
/// a designer for controls derived from ValidatorBase.
/// </para>
/// </summary>
[
System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand,
Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)
]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
internal class BaseValidatorDesigner : MobileControlDesigner
{
private System.Web.UI.MobileControls.BaseValidator _baseValidator;
/// <summary>
/// <para>
/// Initializes the designer.
/// </para>
/// </summary>
/// <param name='component'>
/// The control element being designed.
/// </param>
/// <remarks>
/// <para>
/// This is called by the designer host to establish the component being
/// designed.
/// </para>
/// </remarks>
/// <seealso cref='System.ComponentModel.Design.IDesigner'/>
public override void Initialize(IComponent component)
{
Debug.Assert(component is System.Web.UI.MobileControls.BaseValidator,
"BaseValidatorDesigner.Initialize - Invalid BaseValidator Control");
_baseValidator = (System.Web.UI.MobileControls.BaseValidator) component;
base.Initialize(component);
// remove the contained asp validator within mobile validator so that it won't
// be persisted.
for (int i = _baseValidator.Controls.Count - 1; i >= 0; i--)
{
Control child = _baseValidator.Controls[i];
if (child is System.Web.UI.WebControls.BaseValidator)
{
_baseValidator.Controls.RemoveAt(i);
}
}
}
/// <summary>
/// <para>
/// Gets the design time HTML of ValidatorBase controls.
/// </para>
/// </summary>
/// <returns>
/// <para>
/// The design time
/// HTML of the control.
/// </para>
/// </returns>
protected override String GetDesignTimeNormalHtml()
{
Debug.Assert(_baseValidator.Text != null);
String originalText = _baseValidator.ErrorMessage;
ValidatorDisplay validatorDisplay = _baseValidator.Display;
bool blankText = (validatorDisplay == ValidatorDisplay.None ||
(originalText.Trim().Length == 0 && _baseValidator.Text.Trim().Length == 0));
if (blankText)
{
_baseValidator.ErrorMessage = "[" + _baseValidator.ID + "]";
}
DesignerTextWriter tw = new DesignerTextWriter();
_baseValidator.Adapter.Render(tw);
if (blankText)
{
_baseValidator.ErrorMessage = originalText;
}
return tw.ToString();
}
}
}
|