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
- KeyTimeConverter.cs
- TdsParserHelperClasses.cs
- WebScriptMetadataMessage.cs
- AsymmetricSignatureDeformatter.cs
- ConfigurationPropertyAttribute.cs
- nulltextnavigator.cs
- AccessDataSource.cs
- cookieexception.cs
- FontEmbeddingManager.cs
- ValueUnavailableException.cs
- RemotingException.cs
- SiteMap.cs
- SHA384.cs
- StyleHelper.cs
- SqlDependencyListener.cs
- TextReader.cs
- TextParentUndoUnit.cs
- IdentityValidationException.cs
- PopupControlService.cs
- QueuePathEditor.cs
- GorillaCodec.cs
- DataListCommandEventArgs.cs
- ValidatorCollection.cs
- DbException.cs
- AddingNewEventArgs.cs
- SqlBuilder.cs
- HideDisabledControlAdapter.cs
- PointLight.cs
- RawUIStateInputReport.cs
- TextParagraphView.cs
- SynchronizationContext.cs
- ResourceAttributes.cs
- ConnectionStringsExpressionBuilder.cs
- SafeNativeMethods.cs
- TabControlCancelEvent.cs
- WebPartVerb.cs
- WebSysDefaultValueAttribute.cs
- CodeTypeDelegate.cs
- NotSupportedException.cs
- XmlNodeChangedEventArgs.cs
- FreezableCollection.cs
- EnumValidator.cs
- WindowsListViewScroll.cs
- IsolatedStorageFile.cs
- CollectionChangedEventManager.cs
- URLString.cs
- RegisteredHiddenField.cs
- AlphabeticalEnumConverter.cs
- Pens.cs
- _NTAuthentication.cs
- HostSecurityManager.cs
- IsolatedStorageFileStream.cs
- DataGridViewRow.cs
- RTLAwareMessageBox.cs
- StandardCommands.cs
- SubstitutionDesigner.cs
- InvalidOperationException.cs
- SemaphoreSecurity.cs
- AliasedSlot.cs
- ContractAdapter.cs
- PersonalizableAttribute.cs
- PageThemeParser.cs
- ChannelSinkStacks.cs
- HtmlAnchor.cs
- XmlCodeExporter.cs
- RectAnimationClockResource.cs
- ValidatingCollection.cs
- IRCollection.cs
- DataGridViewRowsRemovedEventArgs.cs
- InternalConfigRoot.cs
- SchemaTypeEmitter.cs
- XmlSchemaProviderAttribute.cs
- PropertyMetadata.cs
- ISAPIWorkerRequest.cs
- CodePageEncoding.cs
- XmlWrappingWriter.cs
- ContentTextAutomationPeer.cs
- Point3DValueSerializer.cs
- ResourceBinder.cs
- InfoCardMetadataExchangeClient.cs
- StringPropertyBuilder.cs
- Events.cs
- OutputCacheEntry.cs
- TextModifierScope.cs
- SettingsPropertyValue.cs
- FileUtil.cs
- MimePart.cs
- DocumentViewerBaseAutomationPeer.cs
- DataGridRow.cs
- InternalRelationshipCollection.cs
- HandlerWithFactory.cs
- Constraint.cs
- RadioButtonStandardAdapter.cs
- CompilerGlobalScopeAttribute.cs
- DuplicateWaitObjectException.cs
- RequestQueue.cs
- PanelStyle.cs
- LoadRetryHandler.cs
- SmiEventSink_DeferedProcessing.cs
- FontStyleConverter.cs