Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 5 / ChildTable.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.ComponentModel; using System.Web.UI; using System.Web.Util; [ ToolboxItem(false), SupportsEventValidation, ] ////// /// Used by composite controls that are based on a table, that only render /// their contents. /// Used to render out an ID attribute representing the parent composite control /// if an ID is not actually set on this table. /// internal class ChildTable : Table { private int _parentLevel; private string _parentID; private bool _parentIDSet; ///internal ChildTable() : this(1) { } /// internal ChildTable(int parentLevel) { Debug.Assert(parentLevel >= 1); _parentLevel = parentLevel; _parentIDSet = false; } internal ChildTable(string parentID) { _parentID = parentID; _parentIDSet = true; } /// protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); string parentID = _parentID; if (!_parentIDSet) { parentID = GetParentID(); } if (parentID != null) { writer.AddAttribute(HtmlTextWriterAttribute.Id, parentID); } } /// /// Gets the ClientID of the parent whose ID is supposed to be used in the rendering. /// private string GetParentID() { if (ID != null) { return null; } Control parent = this; for (int i = 0; i < _parentLevel; i++) { parent = parent.Parent; if (parent == null) { break; } } Debug.Assert(parent != null); if (parent != null) { string id = parent.ID; if (!String.IsNullOrEmpty(id)) { return parent.ClientID; } } return 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; using System.ComponentModel; using System.Web.UI; using System.Web.Util; [ ToolboxItem(false), SupportsEventValidation, ] ////// /// Used by composite controls that are based on a table, that only render /// their contents. /// Used to render out an ID attribute representing the parent composite control /// if an ID is not actually set on this table. /// internal class ChildTable : Table { private int _parentLevel; private string _parentID; private bool _parentIDSet; ///internal ChildTable() : this(1) { } /// internal ChildTable(int parentLevel) { Debug.Assert(parentLevel >= 1); _parentLevel = parentLevel; _parentIDSet = false; } internal ChildTable(string parentID) { _parentID = parentID; _parentIDSet = true; } /// protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); string parentID = _parentID; if (!_parentIDSet) { parentID = GetParentID(); } if (parentID != null) { writer.AddAttribute(HtmlTextWriterAttribute.Id, parentID); } } /// /// Gets the ClientID of the parent whose ID is supposed to be used in the rendering. /// private string GetParentID() { if (ID != null) { return null; } Control parent = this; for (int i = 0; i < _parentLevel; i++) { parent = parent.Parent; if (parent == null) { break; } } Debug.Assert(parent != null); if (parent != null) { string id = parent.ID; if (!String.IsNullOrEmpty(id)) { return parent.ClientID; } } return 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
- TreeViewImageIndexConverter.cs
- ReflectTypeDescriptionProvider.cs
- XmlWhitespace.cs
- XmlWrappingReader.cs
- BitmapCache.cs
- FixedLineResult.cs
- EntityDataSourceState.cs
- CacheOutputQuery.cs
- SystemWebSectionGroup.cs
- LayoutTable.cs
- UInt64Converter.cs
- XmlElementCollection.cs
- CompoundFileIOPermission.cs
- HMACSHA384.cs
- DateRangeEvent.cs
- MessagePropertyFilter.cs
- SHA256Managed.cs
- DetailsViewModeEventArgs.cs
- ZipPackage.cs
- BulletDecorator.cs
- ModelMemberCollection.cs
- SqlDataSourceCommandParser.cs
- XmlNavigatorFilter.cs
- COM2PictureConverter.cs
- SplineKeyFrames.cs
- XmlSubtreeReader.cs
- DeclarativeCatalogPart.cs
- StreamUpgradeInitiator.cs
- Descriptor.cs
- DecoderFallbackWithFailureFlag.cs
- EmbossBitmapEffect.cs
- WorkflowPageSetupDialog.cs
- SessionSwitchEventArgs.cs
- LicenseManager.cs
- SafePEFileHandle.cs
- ExpandCollapseProviderWrapper.cs
- ResourcesBuildProvider.cs
- ProfilePropertySettings.cs
- TextTrailingCharacterEllipsis.cs
- ColumnMapTranslator.cs
- MobileControlsSectionHandler.cs
- LifetimeServices.cs
- Serializer.cs
- AddInStore.cs
- OdbcConnectionHandle.cs
- InstanceDataCollectionCollection.cs
- SoapReflector.cs
- ActivationArguments.cs
- QueryAsyncResult.cs
- EntryPointNotFoundException.cs
- X509CertificateStore.cs
- SortedDictionary.cs
- DatagramAdapter.cs
- SrgsGrammar.cs
- CompensableActivity.cs
- FigureParaClient.cs
- Crc32.cs
- CompiledRegexRunnerFactory.cs
- ContentAlignmentEditor.cs
- InputScopeManager.cs
- DefaultObjectSerializer.cs
- SQLBinary.cs
- MessageSmuggler.cs
- ResourceContainer.cs
- LinkedResource.cs
- InstanceContextMode.cs
- CqlBlock.cs
- SqlFacetAttribute.cs
- WindowInteropHelper.cs
- ZeroOpNode.cs
- ItemCollection.cs
- StatusStrip.cs
- SpecialFolderEnumConverter.cs
- ISFClipboardData.cs
- PropertyToken.cs
- CallbackHandler.cs
- XmlSchemaComplexContentExtension.cs
- ListBoxItemAutomationPeer.cs
- AccessibleObject.cs
- HashRepartitionEnumerator.cs
- XslException.cs
- PrtTicket_Public_Simple.cs
- SecureStringHasher.cs
- PartEditor.cs
- CommandValueSerializer.cs
- Attributes.cs
- XamlLoadErrorInfo.cs
- Calendar.cs
- AccessText.cs
- DictationGrammar.cs
- DoubleLinkListEnumerator.cs
- CompletedAsyncResult.cs
- VirtualizingPanel.cs
- GenericAuthenticationEventArgs.cs
- SqlNode.cs
- PersonalizationStateInfo.cs
- DllNotFoundException.cs
- METAHEADER.cs
- EllipseGeometry.cs
- WindowsComboBox.cs