Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 3 / 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. //------------------------------------------------------------------------------ //// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GroupedContextMenuStrip.cs
- DataGridViewHitTestInfo.cs
- SkinBuilder.cs
- CounterSetInstance.cs
- FrameworkElement.cs
- BatchServiceHost.cs
- DocumentPageViewAutomationPeer.cs
- BoundsDrawingContextWalker.cs
- DataSourceCache.cs
- DataServiceRequestOfT.cs
- WebReference.cs
- ServiceOperationParameter.cs
- TextRangeEditTables.cs
- UntrustedRecipientException.cs
- EntityClientCacheKey.cs
- BrowserInteropHelper.cs
- ValueTypeFixupInfo.cs
- ToolStripLocationCancelEventArgs.cs
- RegisteredDisposeScript.cs
- AppModelKnownContentFactory.cs
- ToolStripManager.cs
- StickyNoteContentControl.cs
- ListParaClient.cs
- PermissionToken.cs
- TransformerInfoCollection.cs
- Stylus.cs
- BitmapCodecInfoInternal.cs
- HostedTransportConfigurationManager.cs
- ArcSegment.cs
- BinaryObjectReader.cs
- ToolStrip.cs
- SvcFileManager.cs
- OdbcStatementHandle.cs
- Overlapped.cs
- InputMethod.cs
- CallbackValidator.cs
- TableDetailsCollection.cs
- PointAnimation.cs
- ExpressionList.cs
- LiteralControl.cs
- Tokenizer.cs
- webeventbuffer.cs
- HeaderUtility.cs
- EmptyReadOnlyDictionaryInternal.cs
- QuaternionRotation3D.cs
- InputElement.cs
- DataGridViewColumn.cs
- EncoderNLS.cs
- PropertyTabChangedEvent.cs
- RC2.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- ProfileSettingsCollection.cs
- ProtectedConfigurationProviderCollection.cs
- SimplePropertyEntry.cs
- EncodingTable.cs
- TransactionTraceIdentifier.cs
- ObjectContextServiceProvider.cs
- MessageBuilder.cs
- PartitionResolver.cs
- QueryContinueDragEventArgs.cs
- XPathNodeList.cs
- WebPartConnectionsCancelVerb.cs
- DataGridViewSelectedCellCollection.cs
- ScrollItemPatternIdentifiers.cs
- HtmlInputButton.cs
- DBBindings.cs
- Site.cs
- LightweightCodeGenerator.cs
- VariantWrapper.cs
- LiteralControl.cs
- EdmPropertyAttribute.cs
- HeaderPanel.cs
- EventlogProvider.cs
- AcceleratedTokenProvider.cs
- InplaceBitmapMetadataWriter.cs
- GridViewColumn.cs
- NativeCompoundFileAPIs.cs
- SqlProvider.cs
- StringUtil.cs
- SelectionProcessor.cs
- AppDomainUnloadedException.cs
- RegexCompiler.cs
- CodeTypeReference.cs
- ContextStack.cs
- ToolStripGrip.cs
- AdRotator.cs
- DecimalStorage.cs
- EmptyEnumerator.cs
- xamlnodes.cs
- RuleAction.cs
- FileLevelControlBuilderAttribute.cs
- Brush.cs
- FederatedMessageSecurityOverHttp.cs
- XmlSchemaObjectCollection.cs
- ChangeProcessor.cs
- CollectionViewSource.cs
- List.cs
- DataSourceCacheDurationConverter.cs
- ObjectCloneHelper.cs
- ObjectAssociationEndMapping.cs