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; ////// /// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] public class TextControlDesigner : ControlDesigner { ////// 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. /// ///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
- HandoffBehavior.cs
- X509ChainElement.cs
- DbXmlEnabledProviderManifest.cs
- SettingsPropertyValueCollection.cs
- ElementMarkupObject.cs
- RootBrowserWindow.cs
- MsmqAppDomainProtocolHandler.cs
- SafeFindHandle.cs
- WebEventTraceProvider.cs
- Graph.cs
- BamlLocalizableResource.cs
- TypeUnloadedException.cs
- _emptywebproxy.cs
- handlecollector.cs
- PhysicalAddress.cs
- webclient.cs
- RestClientProxyHandler.cs
- NotifyCollectionChangedEventArgs.cs
- CngProvider.cs
- OleAutBinder.cs
- CorrelationKey.cs
- MaxValueConverter.cs
- OdbcConnectionOpen.cs
- StateChangeEvent.cs
- GuidConverter.cs
- Configuration.cs
- ThrowOnMultipleAssignment.cs
- OpenCollectionAsyncResult.cs
- BitmapEffectDrawing.cs
- DataSvcMapFileSerializer.cs
- IndexedGlyphRun.cs
- ToolStripGrip.cs
- HierarchicalDataBoundControlAdapter.cs
- CompilerState.cs
- DataSourceControlBuilder.cs
- FormsAuthenticationUserCollection.cs
- DictionaryContent.cs
- FrameworkContentElement.cs
- MdbDataFileEditor.cs
- LinqDataSourceContextData.cs
- PagesSection.cs
- HostingEnvironmentSection.cs
- CommonXSendMessage.cs
- TableCell.cs
- HWStack.cs
- MediaScriptCommandRoutedEventArgs.cs
- ProviderConnectionPoint.cs
- CodeObjectCreateExpression.cs
- OrderByQueryOptionExpression.cs
- InputLanguageEventArgs.cs
- InfoCardTraceRecord.cs
- PolicyException.cs
- EntityAdapter.cs
- TypeConverter.cs
- EditableRegion.cs
- VariableAction.cs
- BuildResultCache.cs
- StickyNoteHelper.cs
- XmlStringTable.cs
- SelectedGridItemChangedEvent.cs
- SetIterators.cs
- DiscoveryMessageSequence.cs
- InputGestureCollection.cs
- ProxyManager.cs
- SystemBrushes.cs
- BooleanSwitch.cs
- DeflateStreamAsyncResult.cs
- BackStopAuthenticationModule.cs
- StateWorkerRequest.cs
- DomNameTable.cs
- ColumnMapTranslator.cs
- SequenceNumber.cs
- ListComponentEditorPage.cs
- BindingOperations.cs
- DefaultPropertyAttribute.cs
- ItemCheckEvent.cs
- DesignTimeTemplateParser.cs
- PublisherMembershipCondition.cs
- TextSpanModifier.cs
- BaseAsyncResult.cs
- SmiContextFactory.cs
- DependencyPropertyChangedEventArgs.cs
- XmlDataCollection.cs
- UserCancellationException.cs
- GlyphRun.cs
- PointHitTestResult.cs
- DependencyObject.cs
- ElementMarkupObject.cs
- WindowsListViewGroup.cs
- TextBoxBase.cs
- HostVisual.cs
- ISessionStateStore.cs
- XmlSignificantWhitespace.cs
- XmlSerializerNamespaces.cs
- CSharpCodeProvider.cs
- DBCommandBuilder.cs
- TdsParser.cs
- FormViewUpdateEventArgs.cs
- DoubleAnimationUsingKeyFrames.cs
- MsmqSecureHashAlgorithm.cs