Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 5 / 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
- SafeFileMappingHandle.cs
- WebRequest.cs
- WindowsNonControl.cs
- CalendarDay.cs
- ZoneLinkButton.cs
- streamingZipPartStream.cs
- TemplateBamlRecordReader.cs
- LoginNameDesigner.cs
- RequestQueryProcessor.cs
- ConnectionInterfaceCollection.cs
- ConnectionManagementElement.cs
- ArrayWithOffset.cs
- _HeaderInfoTable.cs
- ExceptionAggregator.cs
- NativeMethodsCLR.cs
- EnumValidator.cs
- SafeHandles.cs
- TrackingServices.cs
- SubpageParaClient.cs
- Random.cs
- templategroup.cs
- IndexerNameAttribute.cs
- Atom10FormatterFactory.cs
- CSharpCodeProvider.cs
- TryExpression.cs
- MouseWheelEventArgs.cs
- HeaderCollection.cs
- MediaCommands.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- EntityAdapter.cs
- HGlobalSafeHandle.cs
- RepeaterItemEventArgs.cs
- CqlWriter.cs
- TrustLevelCollection.cs
- FilePresentation.cs
- BindUriHelper.cs
- Typography.cs
- TableCellCollection.cs
- Application.cs
- Preprocessor.cs
- RegionData.cs
- Helper.cs
- GeneralTransform3DTo2DTo3D.cs
- ConnectionString.cs
- HasCopySemanticsAttribute.cs
- DataGridRow.cs
- Int64Converter.cs
- IndexedWhereQueryOperator.cs
- IsolatedStoragePermission.cs
- ButtonBase.cs
- CaseInsensitiveComparer.cs
- CursorEditor.cs
- ValueCollectionParameterReader.cs
- FormViewUpdatedEventArgs.cs
- CacheAxisQuery.cs
- WrapperEqualityComparer.cs
- RuntimeWrappedException.cs
- RightsManagementManager.cs
- BamlTreeNode.cs
- AuthorizationRuleCollection.cs
- StringUtil.cs
- MessageContractAttribute.cs
- XmlDocumentSerializer.cs
- ContextMenuAutomationPeer.cs
- CodeDelegateCreateExpression.cs
- _PooledStream.cs
- hresults.cs
- LinkConverter.cs
- RemotingServices.cs
- XmlCustomFormatter.cs
- ServiceEndpointCollection.cs
- WindowInteractionStateTracker.cs
- PagesSection.cs
- SimpleApplicationHost.cs
- DataBinding.cs
- CellParaClient.cs
- TrackingRecord.cs
- ScriptingAuthenticationServiceSection.cs
- StreamingContext.cs
- DBSchemaTable.cs
- DiscriminatorMap.cs
- TcpTransportSecurity.cs
- TdsParserSafeHandles.cs
- SQLDoubleStorage.cs
- MetadataItemEmitter.cs
- MasterPageBuildProvider.cs
- Mutex.cs
- OpCodes.cs
- LicenseProviderAttribute.cs
- ImageListImageEditor.cs
- SerializerDescriptor.cs
- Soap.cs
- TextContainerChangedEventArgs.cs
- DataSourceCacheDurationConverter.cs
- EventHandlerList.cs
- Selector.cs
- SqlFacetAttribute.cs
- WebBrowsableAttribute.cs
- Registry.cs
- CompilationUnit.cs