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
- KnownBoxes.cs
- DesignerTransactionCloseEvent.cs
- Int16Converter.cs
- NTAccount.cs
- SecurityCriticalDataForSet.cs
- XmlEncodedRawTextWriter.cs
- RequestCachePolicyConverter.cs
- SmtpException.cs
- ServiceModelEnumValidatorAttribute.cs
- CatalogZoneBase.cs
- followingsibling.cs
- TypeConverterAttribute.cs
- CultureData.cs
- ButtonChrome.cs
- TraceHandlerErrorFormatter.cs
- XslException.cs
- WindowsHyperlink.cs
- ReferenceConverter.cs
- CacheOutputQuery.cs
- ReadOnlyDictionary.cs
- AttributeTable.cs
- Style.cs
- BinaryObjectWriter.cs
- GradientBrush.cs
- RectIndependentAnimationStorage.cs
- NotCondition.cs
- DependencyPropertyHelper.cs
- VisualState.cs
- FtpWebResponse.cs
- DataControlFieldHeaderCell.cs
- FrameworkTemplate.cs
- SystemWebCachingSectionGroup.cs
- XPathItem.cs
- DateTimeUtil.cs
- SQLInt16Storage.cs
- KeySplineConverter.cs
- SqlNodeAnnotation.cs
- OneOfConst.cs
- RowType.cs
- GridViewCommandEventArgs.cs
- DataGridViewColumnTypePicker.cs
- ActivityExecutionWorkItem.cs
- FrameDimension.cs
- dataprotectionpermissionattribute.cs
- HandlerWithFactory.cs
- EncodingTable.cs
- _Semaphore.cs
- WindowExtensionMethods.cs
- WorkflowInstanceExtensionProvider.cs
- OleDbPermission.cs
- ManualWorkflowSchedulerService.cs
- CategoryNameCollection.cs
- XamlBuildTaskServices.cs
- PropertyEntry.cs
- PathFigure.cs
- ArraySortHelper.cs
- SHA256.cs
- AnnotationAuthorChangedEventArgs.cs
- CredentialCache.cs
- WebPartCatalogAddVerb.cs
- SiteMapDataSource.cs
- Vector.cs
- DiffuseMaterial.cs
- DataSourceCacheDurationConverter.cs
- XmlBinaryReader.cs
- XmlNodeChangedEventManager.cs
- DataGridViewCellStyleChangedEventArgs.cs
- TextDpi.cs
- StatusBarDrawItemEvent.cs
- RSAPKCS1KeyExchangeFormatter.cs
- ViewCellRelation.cs
- Clause.cs
- NameTable.cs
- AuthenticationConfig.cs
- SafeLocalMemHandle.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- FormsAuthenticationUser.cs
- GridViewCommandEventArgs.cs
- PropertyFilterAttribute.cs
- EnumValidator.cs
- ScalarType.cs
- FormViewPagerRow.cs
- controlskin.cs
- TemplateParser.cs
- StructuralObject.cs
- StorageEntityTypeMapping.cs
- WorkflowServiceHostFactory.cs
- LowerCaseStringConverter.cs
- CodeDelegateCreateExpression.cs
- FastEncoderWindow.cs
- SqlTransaction.cs
- UnmanagedMemoryStream.cs
- SqlDependencyUtils.cs
- PropertyChangedEventArgs.cs
- RectAnimationUsingKeyFrames.cs
- RegisteredDisposeScript.cs
- XmlValidatingReader.cs
- TextDpi.cs
- UrlMappingCollection.cs
- EmptyEnumerable.cs