Code:
/ FX-1434 / FX-1434 / 1.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
- DataContractAttribute.cs
- SecurityUtils.cs
- SizeLimitedCache.cs
- PassportIdentity.cs
- DetailsViewUpdateEventArgs.cs
- CatalogZone.cs
- UIHelper.cs
- PackageDigitalSignature.cs
- Persist.cs
- GlyphElement.cs
- TypeConverterMarkupExtension.cs
- HttpConfigurationSystem.cs
- DocumentSequence.cs
- CompoundFileReference.cs
- OpCodes.cs
- AssociationEndMember.cs
- CodeConditionStatement.cs
- TypeExtensionSerializer.cs
- SAPIEngineTypes.cs
- NamespaceEmitter.cs
- MatrixUtil.cs
- Graphics.cs
- DataGridViewLinkColumn.cs
- DataTableMappingCollection.cs
- CompositeControl.cs
- LifetimeManager.cs
- XmlSchemaGroupRef.cs
- RepeatButton.cs
- AssemblyNameProxy.cs
- Constants.cs
- ScrollEvent.cs
- EdgeModeValidation.cs
- KoreanCalendar.cs
- ListViewHitTestInfo.cs
- HyperLink.cs
- Odbc32.cs
- MenuItemStyleCollection.cs
- EnumConverter.cs
- ProxyWebPartConnectionCollection.cs
- DuplicateWaitObjectException.cs
- EventWaitHandleSecurity.cs
- IProvider.cs
- SqlRetyper.cs
- NextPreviousPagerField.cs
- TrackingMemoryStreamFactory.cs
- TileBrush.cs
- FastPropertyAccessor.cs
- WCFServiceClientProxyGenerator.cs
- WorkflowRuntimeElement.cs
- SqlTriggerContext.cs
- SystemTcpStatistics.cs
- ConnectionManagementElementCollection.cs
- PageThemeCodeDomTreeGenerator.cs
- NonceToken.cs
- InputLangChangeEvent.cs
- ZoneMembershipCondition.cs
- ZipIOLocalFileBlock.cs
- Vector3DAnimationBase.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- PageRequestManager.cs
- PeerResolverElement.cs
- EditBehavior.cs
- PageRouteHandler.cs
- PropertyGeneratedEventArgs.cs
- WebSysDescriptionAttribute.cs
- TargetConverter.cs
- ProxyBuilder.cs
- BinaryMethodMessage.cs
- XmlValueConverter.cs
- Action.cs
- FilterQueryOptionExpression.cs
- View.cs
- TrackingMemoryStreamFactory.cs
- MenuBindingsEditor.cs
- Gdiplus.cs
- UserControlBuildProvider.cs
- WebPartMovingEventArgs.cs
- CreateUserWizard.cs
- SemanticBasicElement.cs
- SQLInt64.cs
- DBNull.cs
- XmlLanguage.cs
- ServicePointManager.cs
- SiblingIterators.cs
- ConvertersCollection.cs
- ResourceDisplayNameAttribute.cs
- CodeIndexerExpression.cs
- DataBinder.cs
- FilterException.cs
- StringReader.cs
- DataConnectionHelper.cs
- Type.cs
- Ref.cs
- MexServiceChannelBuilder.cs
- WebPartConnectionCollection.cs
- MetadataWorkspace.cs
- KnownIds.cs
- SamlSecurityToken.cs
- COM2IDispatchConverter.cs
- IncrementalCompileAnalyzer.cs