Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / ControlIdConverter.cs / 1 / ControlIdConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's ControlID property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlIDConverter : StringConverter { ////// protected virtual bool FilterControl(Control control) { return true; } ///Determines whether a given control should have its id added to the StandardValuesCollection. ////// Returns a list of all control IDs in the container. /// private string[] GetControls(IDesignerHost host, object instance) { IContainer container = host.Container; // Locate nearest container IComponent component = instance as IComponent; if (component != null && component.Site != null) { container = component.Site.Container; } if (container == null) { return null; } ComponentCollection allComponents = container.Components; ArrayList array = new ArrayList(); // For each control in the container foreach (IComponent comp in (IEnumerable)allComponents) { Control control = comp as Control; // Ignore DesignerHost.RootComponent (Page or UserControl), controls that don't have ID's, // and the Control itself if (control != null && control != instance && control != host.RootComponent && control.ID != null && control.ID.Length > 0 && FilterControl(control)) { array.Add(control.ID); } } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlIDConverter"); if (host != null) { string[] controlIDs = GetControls(host, context.Instance); if (controlIDs == null) { return null; } return new StandardValuesCollection(controlIDs); } return null; } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != null); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's ControlID property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlIDConverter : StringConverter { ////// protected virtual bool FilterControl(Control control) { return true; } ///Determines whether a given control should have its id added to the StandardValuesCollection. ////// Returns a list of all control IDs in the container. /// private string[] GetControls(IDesignerHost host, object instance) { IContainer container = host.Container; // Locate nearest container IComponent component = instance as IComponent; if (component != null && component.Site != null) { container = component.Site.Container; } if (container == null) { return null; } ComponentCollection allComponents = container.Components; ArrayList array = new ArrayList(); // For each control in the container foreach (IComponent comp in (IEnumerable)allComponents) { Control control = comp as Control; // Ignore DesignerHost.RootComponent (Page or UserControl), controls that don't have ID's, // and the Control itself if (control != null && control != instance && control != host.RootComponent && control.ID != null && control.ID.Length > 0 && FilterControl(control)) { array.Add(control.ID); } } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlIDConverter"); if (host != null) { string[] controlIDs = GetControls(host, context.Instance); if (controlIDs == null) { return null; } return new StandardValuesCollection(controlIDs); } return null; } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != null); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WorkflowControlEndpoint.cs
- BufferedOutputStream.cs
- WebSysDefaultValueAttribute.cs
- FormatConvertedBitmap.cs
- Peer.cs
- DecimalAnimation.cs
- DataTablePropertyDescriptor.cs
- ResourceDescriptionAttribute.cs
- TextSimpleMarkerProperties.cs
- XmlDocument.cs
- OutputCacheProfile.cs
- DataGridViewCellCollection.cs
- DataGridViewCellCollection.cs
- SqlColumnizer.cs
- ParenExpr.cs
- DataGridViewRowCollection.cs
- WeakReadOnlyCollection.cs
- PresentationTraceSources.cs
- HttpHandlerAction.cs
- AtomMaterializer.cs
- ServiceProviders.cs
- ActivityValidator.cs
- DateTimeFormat.cs
- CertificateManager.cs
- SqlLiftWhereClauses.cs
- CharacterHit.cs
- CodeTypeReferenceExpression.cs
- UnmanagedBitmapWrapper.cs
- Empty.cs
- BamlRecordReader.cs
- ProfilePropertyMetadata.cs
- DbDataAdapter.cs
- ModuleBuilderData.cs
- CustomTrackingRecord.cs
- Win32MouseDevice.cs
- DataServiceContext.cs
- DataKeyCollection.cs
- Compress.cs
- HtmlFormWrapper.cs
- CreateParams.cs
- ProtocolsConfigurationEntry.cs
- FormViewDeletedEventArgs.cs
- WebContext.cs
- fixedPageContentExtractor.cs
- DoubleConverter.cs
- SQLStringStorage.cs
- TransactionChannelFaultConverter.cs
- ComponentEvent.cs
- Preprocessor.cs
- SHA1Managed.cs
- _FtpControlStream.cs
- ProtectedConfiguration.cs
- QueryExecutionOption.cs
- _SpnDictionary.cs
- MD5.cs
- XmlIlVisitor.cs
- HttpInputStream.cs
- ThreadExceptionEvent.cs
- UnrecognizedPolicyAssertionElement.cs
- SecurityManager.cs
- OdbcConnectionStringbuilder.cs
- Listen.cs
- DataException.cs
- PointUtil.cs
- OleDbException.cs
- UrlPath.cs
- ValueConversionAttribute.cs
- COMException.cs
- BrowserCapabilitiesCodeGenerator.cs
- ProcessModelInfo.cs
- LayoutManager.cs
- HMACMD5.cs
- RsaSecurityToken.cs
- ReliableSessionBindingElementImporter.cs
- Number.cs
- SplitContainer.cs
- StoryFragments.cs
- TimeIntervalCollection.cs
- TaskHelper.cs
- DictionaryEntry.cs
- InternalSafeNativeMethods.cs
- WeakReference.cs
- LogReserveAndAppendState.cs
- BevelBitmapEffect.cs
- RuntimeWrappedException.cs
- CallSiteHelpers.cs
- WebPartZone.cs
- WebPartDescription.cs
- SqlException.cs
- ToolBar.cs
- HierarchicalDataBoundControlAdapter.cs
- WorkflowMessageEventHandler.cs
- SchemaElement.cs
- RecognizerInfo.cs
- SendOperation.cs
- SimpleWorkerRequest.cs
- CodeArrayCreateExpression.cs
- DiscardableAttribute.cs
- StrongNameUtility.cs
- HttpModuleActionCollection.cs