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; ////// /// [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
- PartialTrustVisibleAssembliesSection.cs
- TableCellAutomationPeer.cs
- HWStack.cs
- SharedStatics.cs
- DocumentGridContextMenu.cs
- ImageMetadata.cs
- XmlDigitalSignatureProcessor.cs
- CodeTypeDelegate.cs
- odbcmetadatacolumnnames.cs
- XmlSchemaCollection.cs
- BitmapEffectCollection.cs
- ButtonField.cs
- Transform3DGroup.cs
- TextRangeAdaptor.cs
- ReturnValue.cs
- storepermissionattribute.cs
- DataGridViewSelectedCellCollection.cs
- DataGridViewRowEventArgs.cs
- FileLoadException.cs
- DesignerObjectListAdapter.cs
- KeyTimeConverter.cs
- HttpModuleActionCollection.cs
- DetailsView.cs
- SafeProcessHandle.cs
- NotSupportedException.cs
- ImmutablePropertyDescriptorGridEntry.cs
- DelimitedListTraceListener.cs
- ScalarConstant.cs
- GlobalizationAssembly.cs
- WorkflowDesigner.cs
- XdrBuilder.cs
- CodeCatchClauseCollection.cs
- ObjectViewListener.cs
- DataPagerFieldCollection.cs
- WebPartDescription.cs
- RightsManagementPermission.cs
- DigestComparer.cs
- CodeArrayCreateExpression.cs
- ObjectDataSourceSelectingEventArgs.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- QueryParameter.cs
- iisPickupDirectory.cs
- SchemaNames.cs
- IApplicationTrustManager.cs
- TypeUnloadedException.cs
- SafeSecurityHandles.cs
- PropertyGridEditorPart.cs
- GroupItemAutomationPeer.cs
- SafeMemoryMappedViewHandle.cs
- ProgressBar.cs
- WebPartConnection.cs
- WebRequestModuleElementCollection.cs
- AttachedAnnotation.cs
- WebBrowserContainer.cs
- IgnoreDeviceFilterElement.cs
- odbcmetadatafactory.cs
- StrokeNodeData.cs
- MouseActionConverter.cs
- ViewCellSlot.cs
- RotateTransform.cs
- SmiMetaData.cs
- DLinqDataModelProvider.cs
- ListViewItem.cs
- HeaderedContentControl.cs
- JsonFormatWriterGenerator.cs
- RoutedUICommand.cs
- FileSystemEnumerable.cs
- CommandEventArgs.cs
- BrowserTree.cs
- wgx_exports.cs
- ExtensionQuery.cs
- EndpointDispatcher.cs
- FunctionImportMapping.cs
- StartFileNameEditor.cs
- ClientCredentialsElement.cs
- SerializableAttribute.cs
- _NestedMultipleAsyncResult.cs
- NoPersistProperty.cs
- XPathNavigatorKeyComparer.cs
- Label.cs
- WindowPatternIdentifiers.cs
- StringDictionary.cs
- IgnoreSectionHandler.cs
- SafeSecurityHelper.cs
- SubqueryRules.cs
- OleDbConnectionFactory.cs
- SqlParameterCollection.cs
- AxParameterData.cs
- UnmanagedMarshal.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- InstanceDataCollection.cs
- CallbackValidator.cs
- Ray3DHitTestResult.cs
- XmlSchemaComplexContent.cs
- WpfMemberInvoker.cs
- MemberDescriptor.cs
- SessionSwitchEventArgs.cs
- SqlAliaser.cs
- ApplicationSecurityInfo.cs
- EventMemberCodeDomSerializer.cs