Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- UnsafeNativeMethods.cs
- SQLDecimalStorage.cs
- ServiceHostingEnvironmentSection.cs
- XmlAttributeCollection.cs
- SessionStateModule.cs
- ParallelActivityDesigner.cs
- RelationshipDetailsRow.cs
- ImageListStreamer.cs
- HttpListenerElement.cs
- Freezable.cs
- CultureInfo.cs
- XmlSchemaException.cs
- BitmapEffectInputConnector.cs
- DataGrid.cs
- SByteStorage.cs
- SortAction.cs
- ErasingStroke.cs
- ColumnBinding.cs
- StylusCaptureWithinProperty.cs
- TypeUtils.cs
- CodePrimitiveExpression.cs
- StylusPlugin.cs
- StringValidatorAttribute.cs
- MethodImplAttribute.cs
- CommandSet.cs
- Triangle.cs
- SerializableTypeCodeDomSerializer.cs
- ExpressionNode.cs
- TemplateAction.cs
- SQLMembershipProvider.cs
- ITreeGenerator.cs
- TableLayoutSettings.cs
- EnumValidator.cs
- CatalogZone.cs
- DefaultTextStoreTextComposition.cs
- EntityDataSourceWrapper.cs
- MailMessage.cs
- InternalCache.cs
- StateWorkerRequest.cs
- WindowsPen.cs
- ParserExtension.cs
- CacheChildrenQuery.cs
- RTLAwareMessageBox.cs
- WpfSharedXamlSchemaContext.cs
- CompositeControl.cs
- EdgeProfileValidation.cs
- StateChangeEvent.cs
- ComPlusThreadInitializer.cs
- TypeResolvingOptionsAttribute.cs
- FocusWithinProperty.cs
- TextEndOfParagraph.cs
- ZipIOLocalFileDataDescriptor.cs
- CollectionView.cs
- ValidationSummary.cs
- DesignerSerializationVisibilityAttribute.cs
- Int32.cs
- ReadContentAsBinaryHelper.cs
- VersionValidator.cs
- Literal.cs
- WebScriptEnablingElement.cs
- ZoneButton.cs
- SynchronizingStream.cs
- EntityWrapper.cs
- EventManager.cs
- DnsCache.cs
- TransformerInfo.cs
- PlanCompiler.cs
- UIServiceHelper.cs
- PnrpPeerResolverElement.cs
- ThumbButtonInfoCollection.cs
- OutputCacheSettings.cs
- DetailsViewRowCollection.cs
- ToolboxItemCollection.cs
- XmlSchemaAnyAttribute.cs
- CommandHelpers.cs
- ColumnPropertiesGroup.cs
- DataGridColumnHeaderAutomationPeer.cs
- MulticastNotSupportedException.cs
- SiteMapDataSourceView.cs
- FixedSOMPageElement.cs
- SqlDataSourceRefreshSchemaForm.cs
- ArgumentFixer.cs
- PackageFilter.cs
- NetworkInformationPermission.cs
- InputEventArgs.cs
- SpotLight.cs
- BitmapSourceSafeMILHandle.cs
- UnsafeNativeMethods.cs
- DrawListViewSubItemEventArgs.cs
- ContainerCodeDomSerializer.cs
- Stack.cs
- PackUriHelper.cs
- PropertyEmitterBase.cs
- DataConnectionHelper.cs
- WmlLinkAdapter.cs
- ButtonFlatAdapter.cs
- InternalConfigHost.cs
- PriorityItem.cs
- DocumentGrid.cs
- PointLight.cs