Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / TextControlDesigner.cs / 1 / TextControlDesigner.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design {
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Globalization;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Text;
using System.Web.UI;
///
///
///
/// This designer can be used for controls which provide a Text property that
/// is persisted as inner text. An example of such as control is the
/// System.Web.UI.WebControls.Label class. This designer ensures that the
/// Text property is set to some default value to ensure design-time visibility
/// while preserving the children collection intact. It also ensures correct
/// persistence of inner contents in both scenarios: inner text and child controls.
///
///
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
public class TextControlDesigner : ControlDesigner {
///
public override string GetDesignTimeHtml() {
Control control = ViewControl;
PropertyInfo textPropInfo = control.GetType().GetProperty("Text");
string originalText = (string)textPropInfo.GetValue(control, null);
bool blank = (originalText == null) || (originalText.Length == 0);
bool hasControls = control.HasControls();
Control[] children = null;
if (blank) {
if (hasControls) {
children = new Control[control.Controls.Count];
control.Controls.CopyTo(children, 0);
}
textPropInfo.SetValue(control, "[" + control.ID + "]", null);
}
string html;
try {
html = base.GetDesignTimeHtml();
}
finally {
if (blank) {
textPropInfo.SetValue(control, originalText, null);
if (hasControls) {
foreach (Control c in children) {
control.Controls.Add(c);
}
}
}
}
return html;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MouseEvent.cs
- RepeatBehavior.cs
- VBIdentifierDesigner.xaml.cs
- XmlHierarchyData.cs
- GridViewCancelEditEventArgs.cs
- CheckBoxPopupAdapter.cs
- ColumnCollectionEditor.cs
- HttpProfileBase.cs
- ToolStripRenderer.cs
- ResolveNameEventArgs.cs
- Object.cs
- MasterPageCodeDomTreeGenerator.cs
- SqlDataSourceCommandEventArgs.cs
- PkcsUtils.cs
- ConditionBrowserDialog.cs
- MemoryMappedView.cs
- LinkedResourceCollection.cs
- LoadedOrUnloadedOperation.cs
- CSharpCodeProvider.cs
- BuildResult.cs
- ProgressiveCrcCalculatingStream.cs
- LateBoundBitmapDecoder.cs
- SiteMapProvider.cs
- BamlLocalizableResource.cs
- SkewTransform.cs
- Utility.cs
- CodePageEncoding.cs
- WindowAutomationPeer.cs
- DataFormats.cs
- DbException.cs
- BinaryObjectWriter.cs
- XmlIgnoreAttribute.cs
- HyperLinkDataBindingHandler.cs
- DataColumnChangeEvent.cs
- HtmlInputSubmit.cs
- StateManagedCollection.cs
- CompModSwitches.cs
- XhtmlBasicValidatorAdapter.cs
- MgmtConfigurationRecord.cs
- HtmlLabelAdapter.cs
- Pointer.cs
- DbConnectionInternal.cs
- CollectionCodeDomSerializer.cs
- ExpressionTable.cs
- CommandDesigner.cs
- RtfToXamlLexer.cs
- AssemblyInfo.cs
- DataGridSortCommandEventArgs.cs
- OperationDescriptionCollection.cs
- LocationSectionRecord.cs
- ZipIOCentralDirectoryFileHeader.cs
- AmbientValueAttribute.cs
- VerificationException.cs
- HttpConfigurationSystem.cs
- DateTimeConstantAttribute.cs
- Constraint.cs
- FontFamilyValueSerializer.cs
- QEncodedStream.cs
- HttpListenerResponse.cs
- XPathAncestorIterator.cs
- SeparatorAutomationPeer.cs
- IPGlobalProperties.cs
- PackageRelationship.cs
- ComplusEndpointConfigContainer.cs
- IsolatedStorage.cs
- FixedSOMPage.cs
- TextEndOfSegment.cs
- BufferedGraphicsContext.cs
- WebProxyScriptElement.cs
- DesignerHelpers.cs
- GroupBox.cs
- WindowsRichEditRange.cs
- ChannelServices.cs
- FormatSettings.cs
- PowerEase.cs
- CompilerError.cs
- isolationinterop.cs
- ExtensionSurface.cs
- HtmlTable.cs
- HttpCapabilitiesBase.cs
- HtmlHead.cs
- AuthenticationService.cs
- ValueProviderWrapper.cs
- MenuCommand.cs
- XmlEncodedRawTextWriter.cs
- ProtocolElement.cs
- DataListItemCollection.cs
- StateChangeEvent.cs
- Aggregates.cs
- RSAPKCS1KeyExchangeFormatter.cs
- RoutedEventArgs.cs
- DesignerActionUIStateChangeEventArgs.cs
- RouteUrlExpressionBuilder.cs
- TimestampInformation.cs
- CustomValidator.cs
- DataKeyArray.cs
- SqlTypeSystemProvider.cs
- DecimalFormatter.cs
- Win32.cs
- QilChoice.cs