Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 2 / 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; } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RegexMatch.cs
- WebRequest.cs
- SmtpSection.cs
- BindableTemplateBuilder.cs
- CompilationLock.cs
- StructuredTypeInfo.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- TableStyle.cs
- FactoryGenerator.cs
- ListBase.cs
- BridgeDataReader.cs
- TextEditorSpelling.cs
- MaskInputRejectedEventArgs.cs
- ArgumentDesigner.xaml.cs
- StateBag.cs
- MissingMethodException.cs
- ModelPerspective.cs
- SqlParameterizer.cs
- TrackingValidationObjectDictionary.cs
- DynamicArgumentDesigner.xaml.cs
- Color.cs
- CacheForPrimitiveTypes.cs
- XmlCharCheckingReader.cs
- XsdBuildProvider.cs
- BitConverter.cs
- ServiceDebugElement.cs
- Overlapped.cs
- FileEnumerator.cs
- CollectionContainer.cs
- VirtualizingStackPanel.cs
- OutputCacheProfileCollection.cs
- EntityKeyElement.cs
- WsatAdminException.cs
- ReferencedCollectionType.cs
- codemethodreferenceexpression.cs
- CallSiteHelpers.cs
- QueryProcessor.cs
- ACL.cs
- ArgumentNullException.cs
- SqlWriter.cs
- StorageComplexTypeMapping.cs
- CodeDomExtensionMethods.cs
- NamespaceList.cs
- PeekCompletedEventArgs.cs
- CustomValidator.cs
- UnsafeNativeMethods.cs
- Graphics.cs
- PrivateFontCollection.cs
- StatusBarAutomationPeer.cs
- SecurityTokenSerializer.cs
- KnownBoxes.cs
- RowTypeElement.cs
- SqlCrossApplyToCrossJoin.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ExpressionConverter.cs
- IPPacketInformation.cs
- TraceUtils.cs
- URLAttribute.cs
- XmlCharCheckingWriter.cs
- FormClosedEvent.cs
- SymbolType.cs
- mediapermission.cs
- ReferenceService.cs
- BufferModesCollection.cs
- CodePageUtils.cs
- EdmItemError.cs
- UnionCqlBlock.cs
- AdvancedBindingEditor.cs
- PriorityChain.cs
- XsltSettings.cs
- RotateTransform3D.cs
- MenuItemStyle.cs
- DataRow.cs
- MsmqNonTransactedPoisonHandler.cs
- RC2CryptoServiceProvider.cs
- TcpWorkerProcess.cs
- srgsitem.cs
- XamlReaderConstants.cs
- SignedXml.cs
- _ListenerRequestStream.cs
- RepeaterDataBoundAdapter.cs
- WebPartManagerInternals.cs
- SmiMetaData.cs
- Label.cs
- ActionMessageFilter.cs
- FileDialog.cs
- HttpInputStream.cs
- AuthStoreRoleProvider.cs
- FixedPageAutomationPeer.cs
- SimpleNameService.cs
- XsdCachingReader.cs
- Int32CollectionConverter.cs
- XmlReflectionMember.cs
- SynchronizingStream.cs
- BuildResultCache.cs
- CommonXSendMessage.cs
- ConfigXmlText.cs
- streamingZipPartStream.cs
- FlowPosition.cs
- SmtpException.cs