Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 1 / 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
- ExecutionEngineException.cs
- WebProxyScriptElement.cs
- Point3DCollection.cs
- SelectionPatternIdentifiers.cs
- ErrorHandler.cs
- ExtractorMetadata.cs
- ViewCellRelation.cs
- FlowLayoutPanel.cs
- AlphaSortedEnumConverter.cs
- SystemColors.cs
- DictionaryTraceRecord.cs
- BaseCodeDomTreeGenerator.cs
- DataServiceClientException.cs
- MemberPath.cs
- SafeRightsManagementEnvironmentHandle.cs
- GridViewDeleteEventArgs.cs
- ReadOnlyCollection.cs
- NamedElement.cs
- OAVariantLib.cs
- UndoUnit.cs
- Input.cs
- ScrollBar.cs
- SourceFileBuildProvider.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- PrintingPermissionAttribute.cs
- DiagnosticTraceSource.cs
- WebBrowserNavigatedEventHandler.cs
- ToolStripItemImageRenderEventArgs.cs
- ReplyChannelAcceptor.cs
- AssemblyInfo.cs
- BoundPropertyEntry.cs
- XsdDataContractImporter.cs
- ModuleElement.cs
- SiteMapNodeItemEventArgs.cs
- CultureSpecificStringDictionary.cs
- SocketCache.cs
- CheckPair.cs
- RewritingPass.cs
- ProfileModule.cs
- XmlNotation.cs
- UserInitiatedNavigationPermission.cs
- IERequestCache.cs
- MatrixUtil.cs
- PieceNameHelper.cs
- WmlLinkAdapter.cs
- FieldAccessException.cs
- RsaSecurityTokenParameters.cs
- DataServiceQueryException.cs
- DesignerAttributeInfo.cs
- QilChoice.cs
- HttpRequestContext.cs
- SessionIDManager.cs
- OperationSelectorBehavior.cs
- TypeSystem.cs
- SortedSet.cs
- FormsAuthenticationEventArgs.cs
- XmlWhitespace.cs
- IPPacketInformation.cs
- ConfigsHelper.cs
- CommandField.cs
- AssemblyBuilder.cs
- _IPv4Address.cs
- ConstraintEnumerator.cs
- AutomationPatternInfo.cs
- PersistenceTypeAttribute.cs
- TlsSspiNegotiation.cs
- InvalidOperationException.cs
- AutomationPattern.cs
- AutomationPropertyInfo.cs
- HostingEnvironmentWrapper.cs
- XmlSchemaExporter.cs
- Part.cs
- OrderedDictionaryStateHelper.cs
- MasterPageParser.cs
- Listener.cs
- ImageMap.cs
- XPathParser.cs
- CompilerLocalReference.cs
- EventLogLink.cs
- DataGridColumnHeadersPresenter.cs
- CanonicalizationDriver.cs
- Internal.cs
- TextModifier.cs
- AdjustableArrowCap.cs
- DataGridViewComboBoxColumn.cs
- JsonReaderDelegator.cs
- HandlerBase.cs
- WhitespaceRuleReader.cs
- SystemException.cs
- DataTableClearEvent.cs
- RegisteredDisposeScript.cs
- RestHandler.cs
- AttachedAnnotation.cs
- SystemIPGlobalProperties.cs
- PropertyCollection.cs
- DiagnosticTraceSource.cs
- GetPageNumberCompletedEventArgs.cs
- ToolStripArrowRenderEventArgs.cs
- CommandBindingCollection.cs
- MemberBinding.cs