Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 1305376 / 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
- CryptoApi.cs
- ComponentSerializationService.cs
- FacetDescriptionElement.cs
- CompilerLocalReference.cs
- FontDriver.cs
- RenderDataDrawingContext.cs
- DbMetaDataCollectionNames.cs
- SettingsPropertyCollection.cs
- ProviderConnectionPointCollection.cs
- DatatypeImplementation.cs
- WebBaseEventKeyComparer.cs
- RuleSet.cs
- DefaultBindingPropertyAttribute.cs
- Version.cs
- Classification.cs
- Events.cs
- TableDetailsCollection.cs
- HandleCollector.cs
- SoapSchemaImporter.cs
- ExpressionPrefixAttribute.cs
- OutputScope.cs
- Normalization.cs
- ColorConverter.cs
- DataGridViewAddColumnDialog.cs
- Clipboard.cs
- EncoderFallback.cs
- MonitorWrapper.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SafeNativeMethods.cs
- SizeAnimationClockResource.cs
- ImageMetadata.cs
- CheckoutException.cs
- DurationConverter.cs
- InputReportEventArgs.cs
- ArraySegment.cs
- MsmqIntegrationElement.cs
- MailWebEventProvider.cs
- ProtocolInformationReader.cs
- SerialPinChanges.cs
- BaseCAMarshaler.cs
- EventLogRecord.cs
- UnauthorizedWebPart.cs
- DataGridViewEditingControlShowingEventArgs.cs
- CompositeDataBoundControl.cs
- SelectionPatternIdentifiers.cs
- XmlNamedNodeMap.cs
- XmlElement.cs
- ModelEditingScope.cs
- EventHandlerService.cs
- DetailsViewCommandEventArgs.cs
- DataList.cs
- PointAnimationUsingPath.cs
- EdmTypeAttribute.cs
- RefType.cs
- CompilerWrapper.cs
- FontFamilyIdentifier.cs
- AutomationAttributeInfo.cs
- _SslSessionsCache.cs
- WriteTimeStream.cs
- DbParameterHelper.cs
- SiteMapNodeCollection.cs
- DBAsyncResult.cs
- LogSwitch.cs
- EntityProxyTypeInfo.cs
- FrameworkPropertyMetadata.cs
- PinnedBufferMemoryStream.cs
- PreviewPageInfo.cs
- InputLangChangeEvent.cs
- XmlEntityReference.cs
- NamespaceCollection.cs
- DBSqlParserColumnCollection.cs
- NameTable.cs
- Rule.cs
- CopyOfAction.cs
- RequestStatusBarUpdateEventArgs.cs
- CompareValidator.cs
- EntityTemplateUserControl.cs
- Vector3DCollection.cs
- State.cs
- PrtCap_Public.cs
- MimePart.cs
- ObjectQueryExecutionPlan.cs
- TargetException.cs
- DesignColumnCollection.cs
- UTF8Encoding.cs
- RouteItem.cs
- ZoneIdentityPermission.cs
- WebPartHeaderCloseVerb.cs
- VisualStyleTypesAndProperties.cs
- Bold.cs
- ExpressionCopier.cs
- AggregatePushdown.cs
- PersonalizationStateInfo.cs
- ScrollViewer.cs
- BaseProcessor.cs
- DataErrorValidationRule.cs
- PackUriHelper.cs
- TargetFrameworkUtil.cs
- DataGridViewColumn.cs
- ControlFilterExpression.cs