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
- MsmqIntegrationReceiveParameters.cs
- FrameworkContextData.cs
- ScriptIgnoreAttribute.cs
- HyperLink.cs
- Typeface.cs
- AssertValidation.cs
- XMLUtil.cs
- CookieHandler.cs
- WCFModelStrings.Designer.cs
- Rotation3D.cs
- TemplatedAdorner.cs
- Form.cs
- XmlQueryType.cs
- CommentEmitter.cs
- Matrix3D.cs
- GridViewPageEventArgs.cs
- diagnosticsswitches.cs
- GlobalItem.cs
- ContentTextAutomationPeer.cs
- QilPatternFactory.cs
- TextEffectResolver.cs
- XmlArrayItemAttribute.cs
- TrackingAnnotationCollection.cs
- DirectionalLight.cs
- AsymmetricCryptoHandle.cs
- DesignSurfaceEvent.cs
- SoapTransportImporter.cs
- DataObject.cs
- AppSettingsExpressionBuilder.cs
- WebPartConnectionsCancelEventArgs.cs
- UniqueConstraint.cs
- FactoryMaker.cs
- RequestResizeEvent.cs
- SessionStateModule.cs
- GPPOINT.cs
- WindowPatternIdentifiers.cs
- PlaceHolder.cs
- SemanticBasicElement.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- PrtCap_Base.cs
- ProgressBarAutomationPeer.cs
- CatalogPart.cs
- DecimalKeyFrameCollection.cs
- TextEditorCopyPaste.cs
- RequestQueryProcessor.cs
- Stack.cs
- ResolveCriteria.cs
- ExtenderProvidedPropertyAttribute.cs
- DocumentPageTextView.cs
- PartialCachingControl.cs
- LiteralTextContainerControlBuilder.cs
- MetaTable.cs
- DiagnosticsConfigurationHandler.cs
- Propagator.JoinPropagator.cs
- XmlElement.cs
- LinqDataSourceDisposeEventArgs.cs
- CustomError.cs
- XmlDocumentFragment.cs
- DataSourceCacheDurationConverter.cs
- BuildProviderUtils.cs
- ExtractorMetadata.cs
- LinqDataSourceDeleteEventArgs.cs
- MeshGeometry3D.cs
- XLinq.cs
- RuntimeHelpers.cs
- RootNamespaceAttribute.cs
- WindowsGrip.cs
- IDispatchConstantAttribute.cs
- HMACRIPEMD160.cs
- MergeFilterQuery.cs
- SimpleTextLine.cs
- WebPartCollection.cs
- InputBuffer.cs
- ColorConverter.cs
- PassportAuthenticationEventArgs.cs
- __Filters.cs
- CommandSet.cs
- AndCondition.cs
- ToolStripItemCollection.cs
- WebPartConnectVerb.cs
- NativeObjectSecurity.cs
- AppDomainFactory.cs
- XPathDocument.cs
- PathFigure.cs
- SqlNodeTypeOperators.cs
- ResourceContainer.cs
- HttpApplication.cs
- EnumType.cs
- Misc.cs
- ApplicationId.cs
- DataErrorValidationRule.cs
- FirstMatchCodeGroup.cs
- Module.cs
- SchemaType.cs
- ThreadExceptionEvent.cs
- BinaryNode.cs
- BaseProcessor.cs
- Pair.cs
- TimeoutValidationAttribute.cs
- Parameter.cs