Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ControlIdConverter.cs / 1305376 / 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. /// 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
- CustomCategoryAttribute.cs
- IDictionary.cs
- NullableDoubleSumAggregationOperator.cs
- VolatileEnlistmentState.cs
- NativeMethods.cs
- SecurityRuntime.cs
- VisualBrush.cs
- TransformedBitmap.cs
- SoundPlayer.cs
- CodeGenerator.cs
- CodeCastExpression.cs
- PathParser.cs
- XamlTreeBuilderBamlRecordWriter.cs
- SequenceDesignerAccessibleObject.cs
- SimpleExpression.cs
- SettingsBase.cs
- Size.cs
- OAVariantLib.cs
- FileBasedResourceGroveler.cs
- XmlAttributeProperties.cs
- FontNamesConverter.cs
- PublisherIdentityPermission.cs
- CompareInfo.cs
- CanonicalFontFamilyReference.cs
- GPPOINTF.cs
- RectangleGeometry.cs
- PropVariant.cs
- SmtpFailedRecipientsException.cs
- Triplet.cs
- UInt64Storage.cs
- NavigatorInput.cs
- __ComObject.cs
- HttpContext.cs
- assemblycache.cs
- XmlEntityReference.cs
- ExpandSegmentCollection.cs
- ProgressBar.cs
- ArgumentsParser.cs
- FixedSchema.cs
- DataGridViewBand.cs
- CodeCommentStatementCollection.cs
- DecoderReplacementFallback.cs
- PerspectiveCamera.cs
- AliasedSlot.cs
- DbConnectionHelper.cs
- TouchesCapturedWithinProperty.cs
- GlobalizationAssembly.cs
- AssemblyCache.cs
- PointAnimationClockResource.cs
- PropertyDescriptor.cs
- ProfilePropertySettingsCollection.cs
- Int32RectConverter.cs
- XmlArrayAttribute.cs
- ProfileGroupSettingsCollection.cs
- GetMemberBinder.cs
- ForeignKeyConstraint.cs
- GeneralTransform2DTo3D.cs
- xmlfixedPageInfo.cs
- BitmapDownload.cs
- TemplateBindingExpressionConverter.cs
- CachedFontFamily.cs
- NativeMethods.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- FrameworkRichTextComposition.cs
- ProvidePropertyAttribute.cs
- LocatorBase.cs
- SimpleTypesSurrogate.cs
- WizardPanel.cs
- HttpCapabilitiesBase.cs
- UriTemplateEquivalenceComparer.cs
- ContextStack.cs
- FormsAuthentication.cs
- WebPartsPersonalization.cs
- CompilerScope.cs
- PnrpPermission.cs
- BindingNavigator.cs
- SecurityState.cs
- Model3D.cs
- CultureInfo.cs
- Int32Storage.cs
- COM2Enum.cs
- XMLDiffLoader.cs
- SHA512.cs
- UIElementParaClient.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- IPPacketInformation.cs
- AvTrace.cs
- adornercollection.cs
- CacheForPrimitiveTypes.cs
- ListBase.cs
- WebPageTraceListener.cs
- ParentQuery.cs
- validationstate.cs
- DataAdapter.cs
- HtmlInputRadioButton.cs
- IPEndPoint.cs
- BuildProvidersCompiler.cs
- TimersDescriptionAttribute.cs
- LinkButton.cs
- ThrowOnMultipleAssignment.cs