Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- Icon.cs
- ContentTextAutomationPeer.cs
- UdpRetransmissionSettings.cs
- TypedReference.cs
- BuiltInExpr.cs
- CollectionViewGroupRoot.cs
- RenderCapability.cs
- ColorTranslator.cs
- CompilerGlobalScopeAttribute.cs
- TraceSection.cs
- SectionInput.cs
- MissingSatelliteAssemblyException.cs
- SQLBytes.cs
- VoiceObjectToken.cs
- SchemaCollectionCompiler.cs
- QuadraticBezierSegment.cs
- RtfToXamlReader.cs
- TdsParserStaticMethods.cs
- AsyncStreamReader.cs
- ChannelPoolSettings.cs
- DoubleCollectionValueSerializer.cs
- TextBreakpoint.cs
- AppDomainEvidenceFactory.cs
- AbstractExpressions.cs
- Int32Storage.cs
- Journaling.cs
- Camera.cs
- ReaderOutput.cs
- StringResourceManager.cs
- PipelineComponent.cs
- PermissionSetTriple.cs
- Transform3DGroup.cs
- FunctionImportElement.cs
- DataTransferEventArgs.cs
- OverflowException.cs
- ClearCollection.cs
- FixedFlowMap.cs
- CreateUserErrorEventArgs.cs
- ParentUndoUnit.cs
- TaskExceptionHolder.cs
- SerialReceived.cs
- _DigestClient.cs
- Section.cs
- CommentEmitter.cs
- Panel.cs
- COM2ICategorizePropertiesHandler.cs
- Header.cs
- _AutoWebProxyScriptWrapper.cs
- XmlArrayAttribute.cs
- TrackingExtract.cs
- ExternalDataExchangeService.cs
- FixedDSBuilder.cs
- DriveNotFoundException.cs
- Unit.cs
- ValidatorCompatibilityHelper.cs
- ModelTypeConverter.cs
- Thumb.cs
- OleDbRowUpdatedEvent.cs
- GiveFeedbackEvent.cs
- WebProxyScriptElement.cs
- FrameworkElement.cs
- DeclarativeCatalogPart.cs
- LayoutUtils.cs
- TemplateField.cs
- Clause.cs
- ComplusTypeValidator.cs
- DaylightTime.cs
- LexicalChunk.cs
- DateTimeOffset.cs
- ListViewItemMouseHoverEvent.cs
- MultiSelectRootGridEntry.cs
- Registry.cs
- SspiWrapper.cs
- ApplicationGesture.cs
- AssemblyUtil.cs
- ResourceBinder.cs
- Line.cs
- Compiler.cs
- MetadataCollection.cs
- SafeHandles.cs
- M3DUtil.cs
- TCPListener.cs
- HttpDebugHandler.cs
- DataTableReaderListener.cs
- XmlElementElement.cs
- SecureConversationServiceElement.cs
- shaperfactoryquerycacheentry.cs
- RichTextBox.cs
- ByteRangeDownloader.cs
- WebHttpEndpoint.cs
- HitTestDrawingContextWalker.cs
- ToolStripActionList.cs
- AdCreatedEventArgs.cs
- MemberRelationshipService.cs
- AssemblyBuilder.cs
- DatasetMethodGenerator.cs
- EntityDataSourceChangedEventArgs.cs
- HierarchicalDataSourceControl.cs
- DataContractSerializerSection.cs
- PropertyChangedEventManager.cs