Code:
/ FX-1434 / FX-1434 / 1.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
- DefaultHttpHandler.cs
- BufferedWebEventProvider.cs
- CompositeActivityValidator.cs
- SpellerStatusTable.cs
- OrCondition.cs
- ClientSettingsProvider.cs
- SafeNativeMethods.cs
- SystemWebSectionGroup.cs
- OdbcEnvironmentHandle.cs
- XPathSingletonIterator.cs
- Hashtable.cs
- CollectionContainer.cs
- BoundColumn.cs
- MulticastNotSupportedException.cs
- ServicePoint.cs
- RbTree.cs
- RoleServiceManager.cs
- CaseStatementSlot.cs
- NonSerializedAttribute.cs
- StorageBasedPackageProperties.cs
- DataBoundControlAdapter.cs
- NameValueCollection.cs
- AssemblyAttributes.cs
- XamlUtilities.cs
- MethodExpr.cs
- MessageQueuePermission.cs
- BodyGlyph.cs
- MenuItemBindingCollection.cs
- InvalidateEvent.cs
- TypeElementCollection.cs
- PropertyChangeTracker.cs
- EventWaitHandleSecurity.cs
- ListMarkerLine.cs
- MultipleViewPatternIdentifiers.cs
- GraphicsContainer.cs
- smtppermission.cs
- ProfileService.cs
- PerformanceCounterLib.cs
- CellParaClient.cs
- AppDomainInstanceProvider.cs
- RoleGroupCollectionEditor.cs
- XmlUtilWriter.cs
- DbBuffer.cs
- ObjectDataSourceMethodEventArgs.cs
- SecurityStateEncoder.cs
- RelatedCurrencyManager.cs
- MarkupWriter.cs
- DependencyPropertyHelper.cs
- BuildManagerHost.cs
- ConnectionManagementElementCollection.cs
- RoutedCommand.cs
- MultipleViewProviderWrapper.cs
- ExtensionDataObject.cs
- SqlDataSourceWizardForm.cs
- Compilation.cs
- ByteStream.cs
- SqlComparer.cs
- DynamicResourceExtensionConverter.cs
- NumberSubstitution.cs
- RectIndependentAnimationStorage.cs
- AnimationLayer.cs
- ResourcePermissionBaseEntry.cs
- InvalidChannelBindingException.cs
- ControlPaint.cs
- IncrementalCompileAnalyzer.cs
- ReverseInheritProperty.cs
- EntityViewGenerationAttribute.cs
- Point4DValueSerializer.cs
- FastEncoderWindow.cs
- WebHttpElement.cs
- ToolZone.cs
- FontStretchConverter.cs
- HostProtectionException.cs
- figurelength.cs
- WindowPattern.cs
- TeredoHelper.cs
- Typeface.cs
- TextServicesManager.cs
- FileRecordSequenceCompletedAsyncResult.cs
- FormViewUpdateEventArgs.cs
- BulletDecorator.cs
- FilteredAttributeCollection.cs
- SortedList.cs
- BStrWrapper.cs
- PackageProperties.cs
- Rect3D.cs
- RestClientProxyHandler.cs
- CodeObjectCreateExpression.cs
- UnsafeNativeMethods.cs
- Normalizer.cs
- TypeDescriptionProviderAttribute.cs
- PaintEvent.cs
- NumericPagerField.cs
- LazyTextWriterCreator.cs
- FileDialog.cs
- ChannelPool.cs
- SHA512.cs
- XmlSerializerSection.cs
- Vector3DAnimationBase.cs
- DocumentPageView.cs