Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 1305376 / 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
- FirstMatchCodeGroup.cs
- RelativeSource.cs
- ISSmlParser.cs
- NameTable.cs
- SystemIcmpV6Statistics.cs
- Addressing.cs
- SubstitutionList.cs
- KnownBoxes.cs
- QueryConverter.cs
- GridViewUpdatedEventArgs.cs
- GlobalEventManager.cs
- DataKey.cs
- exports.cs
- WebScriptServiceHostFactory.cs
- JournalEntry.cs
- Itemizer.cs
- EventLogPermissionHolder.cs
- TraceHelpers.cs
- RelatedImageListAttribute.cs
- CodeGeneratorOptions.cs
- PackageRelationship.cs
- GlyphInfoList.cs
- MediaPlayer.cs
- ClientSideQueueItem.cs
- UniqueEventHelper.cs
- WebServiceData.cs
- PenThreadWorker.cs
- CompilerTypeWithParams.cs
- MexHttpBindingCollectionElement.cs
- TextSchema.cs
- LocalizationComments.cs
- WebRequestModuleElementCollection.cs
- ConstraintConverter.cs
- Span.cs
- DocumentPageViewAutomationPeer.cs
- dataSvcMapFileLoader.cs
- SafeRightsManagementSessionHandle.cs
- ConfigXmlReader.cs
- FixedDSBuilder.cs
- BrushConverter.cs
- EntityModelSchemaGenerator.cs
- OpacityConverter.cs
- AdapterUtil.cs
- WindowsTitleBar.cs
- ZoneLinkButton.cs
- StringReader.cs
- SessionPageStatePersister.cs
- ZipIOExtraField.cs
- WindowsContainer.cs
- StyleModeStack.cs
- TableHeaderCell.cs
- PrintDialog.cs
- ToolStripDropDownButton.cs
- AuthenticationConfig.cs
- ReadWriteObjectLock.cs
- TypographyProperties.cs
- XmlAutoDetectWriter.cs
- EncoderReplacementFallback.cs
- StylusPoint.cs
- StrokeSerializer.cs
- DifferencingCollection.cs
- CodeDirectoryCompiler.cs
- HttpApplicationStateWrapper.cs
- WCFBuildProvider.cs
- ProcessHostServerConfig.cs
- ProtocolsConfiguration.cs
- RangeContentEnumerator.cs
- SymmetricCryptoHandle.cs
- SmiEventStream.cs
- JournalEntryListConverter.cs
- wgx_sdk_version.cs
- SecurityKeyIdentifierClause.cs
- DrawingImage.cs
- WeakReference.cs
- CannotUnloadAppDomainException.cs
- DtdParser.cs
- MetadataItem.cs
- CodePageEncoding.cs
- Memoizer.cs
- TextEncodedRawTextWriter.cs
- BuildTopDownAttribute.cs
- GuidConverter.cs
- OutputWindow.cs
- SqlAliasesReferenced.cs
- ViewUtilities.cs
- WebContext.cs
- Geometry3D.cs
- DomainConstraint.cs
- SQlBooleanStorage.cs
- HttpChannelHelper.cs
- ValidationHelper.cs
- JoinElimination.cs
- Decorator.cs
- GeneralTransform2DTo3DTo2D.cs
- PersistChildrenAttribute.cs
- AnnotationService.cs
- UpdateManifestForBrowserApplication.cs
- ThreadAttributes.cs
- AttributeAction.cs
- SafeArrayTypeMismatchException.cs