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
- Wizard.cs
- PtsPage.cs
- MenuItemCollection.cs
- SoapIncludeAttribute.cs
- CacheModeValueSerializer.cs
- VisualTreeHelper.cs
- HelpEvent.cs
- Baml2006SchemaContext.cs
- UInt64Converter.cs
- UdpDiscoveryEndpoint.cs
- FileDataSourceCache.cs
- TextBoxRenderer.cs
- BitmapEffectState.cs
- HttpModuleAction.cs
- GlobalItem.cs
- AsymmetricAlgorithm.cs
- ImageFormatConverter.cs
- AdornerDecorator.cs
- SoapMessage.cs
- PageRequestManager.cs
- RawStylusInputCustomDataList.cs
- ScrollItemPattern.cs
- TypefaceMap.cs
- RepeaterDataBoundAdapter.cs
- XPathNodeList.cs
- InputEventArgs.cs
- PrintPreviewDialog.cs
- Vector3DConverter.cs
- RawKeyboardInputReport.cs
- CompensatableSequenceActivity.cs
- XmlNodeReader.cs
- ParameterCollection.cs
- RemotingConfigParser.cs
- DbBuffer.cs
- DialogResultConverter.cs
- ApplicationManager.cs
- SupportingTokenAuthenticatorSpecification.cs
- XsdDateTime.cs
- XsdValidatingReader.cs
- Set.cs
- Authorization.cs
- PartialClassGenerationTaskInternal.cs
- DbFunctionCommandTree.cs
- ToolStripMenuItem.cs
- ResXResourceSet.cs
- PeerObject.cs
- DataPagerFieldCollection.cs
- ConstraintConverter.cs
- GridSplitter.cs
- ProcessModelSection.cs
- FacetDescription.cs
- DbParameterHelper.cs
- EncodingTable.cs
- TraceXPathNavigator.cs
- SqlTriggerContext.cs
- BuilderInfo.cs
- ListViewUpdateEventArgs.cs
- ChannelTerminatedException.cs
- GacUtil.cs
- InfoCardTrace.cs
- TransformedBitmap.cs
- PrinterResolution.cs
- SystemMulticastIPAddressInformation.cs
- GroupItemAutomationPeer.cs
- Exception.cs
- Listbox.cs
- BitFlagsGenerator.cs
- PrtTicket_Public.cs
- SchemaExporter.cs
- KeySplineConverter.cs
- QilChoice.cs
- EntityKeyElement.cs
- DirtyTextRange.cs
- XmlCharType.cs
- InputLanguageEventArgs.cs
- SchemaNamespaceManager.cs
- AutomationProperty.cs
- MarkupWriter.cs
- ToolStripButton.cs
- ValidationSummaryDesigner.cs
- NotificationContext.cs
- TextSpan.cs
- FocusChangedEventArgs.cs
- DocumentApplication.cs
- TraceSource.cs
- ForeignKeyConstraint.cs
- DoubleAnimationUsingKeyFrames.cs
- ConversionContext.cs
- BuildManagerHost.cs
- CompositeControlDesigner.cs
- HelpProvider.cs
- ChannelListenerBase.cs
- ProtocolsConfigurationEntry.cs
- PropertyNames.cs
- XmlCodeExporter.cs
- InputLanguageSource.cs
- HtmlInputPassword.cs
- NumericUpDownAccelerationCollection.cs
- FixedDocumentPaginator.cs
- MonthCalendar.cs