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
- SqlTypesSchemaImporter.cs
- ReliabilityContractAttribute.cs
- RankException.cs
- Int32CAMarshaler.cs
- SmiEventSink.cs
- FrameworkElementFactory.cs
- BatchParser.cs
- StrongNameSignatureInformation.cs
- DataGridColumnCollection.cs
- Boolean.cs
- SQLDateTime.cs
- OdbcParameterCollection.cs
- GeneralTransform2DTo3D.cs
- XmlStreamStore.cs
- PKCS1MaskGenerationMethod.cs
- SessionStateContainer.cs
- TypeRefElement.cs
- SpellerInterop.cs
- TypeTypeConverter.cs
- CacheMode.cs
- FamilyTypeface.cs
- CodeDOMProvider.cs
- COM2Properties.cs
- ImageSourceValueSerializer.cs
- SoapBinding.cs
- DataRowChangeEvent.cs
- Rect.cs
- AuthStoreRoleProvider.cs
- EntityTemplateUserControl.cs
- WebHttpSecurity.cs
- RtType.cs
- UntrustedRecipientException.cs
- AdornerPresentationContext.cs
- SymLanguageVendor.cs
- VirtualizedContainerService.cs
- OrderByBuilder.cs
- BlurBitmapEffect.cs
- ProgressBar.cs
- PathStreamGeometryContext.cs
- XmlSchemaComplexContent.cs
- MessageQueueTransaction.cs
- CodeEventReferenceExpression.cs
- AdobeCFFWrapper.cs
- MessagePropertyFilter.cs
- NoResizeHandleGlyph.cs
- _BufferOffsetSize.cs
- SmiContextFactory.cs
- AsyncContentLoadedEventArgs.cs
- EntityDataSourceContextCreatedEventArgs.cs
- SiteMapNodeItem.cs
- SQLMoney.cs
- CryptoProvider.cs
- SolidColorBrush.cs
- ImageButton.cs
- MulticastDelegate.cs
- EmptyElement.cs
- SynchronousChannelMergeEnumerator.cs
- ContainerParagraph.cs
- PartialList.cs
- DataSourceUtil.cs
- TagPrefixCollection.cs
- MethodExpr.cs
- UInt16.cs
- ThreadStartException.cs
- ComponentResourceKey.cs
- DbConnectionStringCommon.cs
- MenuDesigner.cs
- DataGridSortCommandEventArgs.cs
- MappingException.cs
- _TLSstream.cs
- MultiSelector.cs
- WebMethodAttribute.cs
- DeferredElementTreeState.cs
- HttpDictionary.cs
- BooleanProjectedSlot.cs
- OracleRowUpdatedEventArgs.cs
- FileNameEditor.cs
- RemoteX509Token.cs
- Win32.cs
- SymbolEqualComparer.cs
- WebHttpSecurityModeHelper.cs
- DesignBindingPicker.cs
- WebControlParameterProxy.cs
- DynamicMethod.cs
- FileSystemEventArgs.cs
- IndentTextWriter.cs
- ThousandthOfEmRealDoubles.cs
- GridSplitterAutomationPeer.cs
- WebPartCatalogAddVerb.cs
- ReflectTypeDescriptionProvider.cs
- IndentTextWriter.cs
- FamilyTypeface.cs
- FontEmbeddingManager.cs
- ByteConverter.cs
- Operators.cs
- HandleCollector.cs
- WebPartVerbCollection.cs
- ToolboxBitmapAttribute.cs
- GradientSpreadMethodValidation.cs
- SqlCachedBuffer.cs