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
- CfgSemanticTag.cs
- MissingManifestResourceException.cs
- Freezable.cs
- SelectionPatternIdentifiers.cs
- TdsEnums.cs
- httpserverutility.cs
- AutomationInteropProvider.cs
- BitmapEffectGroup.cs
- SchemaNamespaceManager.cs
- FileDialog_Vista.cs
- HttpModulesSection.cs
- x509utils.cs
- SurrogateSelector.cs
- RouteData.cs
- AuthorizationRule.cs
- SortAction.cs
- UiaCoreTypesApi.cs
- HeaderedContentControl.cs
- PassportAuthenticationEventArgs.cs
- StreamUpdate.cs
- BindingListCollectionView.cs
- DataGridViewCell.cs
- ConnectionManagementElementCollection.cs
- TableLayoutSettingsTypeConverter.cs
- TraceListeners.cs
- ResXDataNode.cs
- LicFileLicenseProvider.cs
- DocumentPageViewAutomationPeer.cs
- SingleStorage.cs
- List.cs
- Processor.cs
- SqlConnection.cs
- InputGestureCollection.cs
- EncryptedPackage.cs
- EventSetter.cs
- MenuAdapter.cs
- XhtmlBasicListAdapter.cs
- FontUnitConverter.cs
- PropertyDescriptors.cs
- FormClosingEvent.cs
- DesignerCatalogPartChrome.cs
- Inflater.cs
- Utils.cs
- ThaiBuddhistCalendar.cs
- XmlSchemaSequence.cs
- Quaternion.cs
- LicenseManager.cs
- Thickness.cs
- UTF7Encoding.cs
- AlternationConverter.cs
- PipeSecurity.cs
- DisplayToken.cs
- AtlasWeb.Designer.cs
- DataGridViewAccessibleObject.cs
- CalendarDataBindingHandler.cs
- DbConnectionStringCommon.cs
- DataGridAddNewRow.cs
- ConfigXmlSignificantWhitespace.cs
- NestPullup.cs
- Socket.cs
- AssertHelper.cs
- IPeerNeighbor.cs
- Panel.cs
- _AutoWebProxyScriptWrapper.cs
- StringExpressionSet.cs
- DataGridBoundColumn.cs
- Span.cs
- WmpBitmapDecoder.cs
- DockAndAnchorLayout.cs
- XmlUtilWriter.cs
- IsolatedStorageFilePermission.cs
- ToolStripPanelCell.cs
- XmlTextReaderImplHelpers.cs
- StyleModeStack.cs
- DocumentPage.cs
- sqlcontext.cs
- FixedSOMPageElement.cs
- XmlSchemaException.cs
- COM2AboutBoxPropertyDescriptor.cs
- HtmlTableCellCollection.cs
- HtmlTitle.cs
- CompilerWrapper.cs
- TaskExceptionHolder.cs
- ClientRuntimeConfig.cs
- DbDataSourceEnumerator.cs
- XmlSchemaValidationException.cs
- HtmlAnchor.cs
- XmlNotation.cs
- DashStyles.cs
- FolderBrowserDialog.cs
- BaseParaClient.cs
- TextSelection.cs
- SafeBitVector32.cs
- WindowsAltTab.cs
- SafePEFileHandle.cs
- Trace.cs
- WebPartEditorApplyVerb.cs
- EntityDataSourceEntitySetNameItem.cs
- TableItemStyle.cs
- MultiViewDesigner.cs