Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataRecordObjectView.cs
- FixedLineResult.cs
- Msec.cs
- SqlProvider.cs
- DbException.cs
- TrackingWorkflowEventArgs.cs
- DocumentOrderQuery.cs
- DbInsertCommandTree.cs
- GuidTagList.cs
- UIPropertyMetadata.cs
- XslCompiledTransform.cs
- EmbossBitmapEffect.cs
- ComPlusAuthorization.cs
- UiaCoreApi.cs
- SamlAuthorizationDecisionStatement.cs
- MissingSatelliteAssemblyException.cs
- SelectingProviderEventArgs.cs
- HybridWebProxyFinder.cs
- CodeIterationStatement.cs
- UnmanagedMemoryStream.cs
- EdmComplexPropertyAttribute.cs
- Duration.cs
- TransformedBitmap.cs
- ReadOnlyDataSourceView.cs
- SqlDataSourceQuery.cs
- CheckBoxBaseAdapter.cs
- SQLSingle.cs
- FixedTextContainer.cs
- _ListenerRequestStream.cs
- AtomServiceDocumentSerializer.cs
- CommandConverter.cs
- DesignerActionVerbList.cs
- FixedSOMSemanticBox.cs
- RegexMatchCollection.cs
- FixedSOMSemanticBox.cs
- RemoteHelper.cs
- InkPresenter.cs
- Registry.cs
- StringBlob.cs
- GlobalEventManager.cs
- Brush.cs
- Calendar.cs
- SqlXml.cs
- SqlCacheDependencySection.cs
- PageThemeBuildProvider.cs
- XmlQualifiedNameTest.cs
- sqlcontext.cs
- SelectionWordBreaker.cs
- XmlSchemaImporter.cs
- ListViewDesigner.cs
- AddingNewEventArgs.cs
- SymbolUsageManager.cs
- ListViewInsertEventArgs.cs
- FlowDocumentFormatter.cs
- LookupBindingPropertiesAttribute.cs
- brushes.cs
- IDReferencePropertyAttribute.cs
- PeerTransportListenAddressValidatorAttribute.cs
- SpecialTypeDataContract.cs
- RegexWorker.cs
- EditorPart.cs
- InvokePatternIdentifiers.cs
- EnterpriseServicesHelper.cs
- ConfigurationPropertyCollection.cs
- GridViewUpdateEventArgs.cs
- WindowsRichEdit.cs
- EllipseGeometry.cs
- PropertySegmentSerializer.cs
- SdlChannelSink.cs
- GridViewCancelEditEventArgs.cs
- DynamicDataRouteHandler.cs
- OleDbInfoMessageEvent.cs
- MimeWriter.cs
- InvalidateEvent.cs
- DiagnosticStrings.cs
- MessageHeader.cs
- UpdateException.cs
- AnnotationResourceCollection.cs
- SmtpDigestAuthenticationModule.cs
- SoapReflectionImporter.cs
- Boolean.cs
- HtmlListAdapter.cs
- Normalization.cs
- BaseCodeDomTreeGenerator.cs
- EnterpriseServicesHelper.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ConnectionPoint.cs
- SignedPkcs7.cs
- SecurityHeaderLayout.cs
- SqlBulkCopyColumnMappingCollection.cs
- WorkflowControlClient.cs
- StrokeCollection2.cs
- mil_sdk_version.cs
- Lease.cs
- CultureInfoConverter.cs
- Triangle.cs
- XhtmlMobileTextWriter.cs
- ExternalException.cs
- DateTimeConverter.cs
- RepeatBehaviorConverter.cs