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
- SmiEventSink.cs
- CompilerTypeWithParams.cs
- OracleParameterCollection.cs
- OleDbSchemaGuid.cs
- SequentialOutput.cs
- XmlSerializerSection.cs
- EmissiveMaterial.cs
- datacache.cs
- BindToObject.cs
- ObjectListCommandCollection.cs
- XmlSchemaDocumentation.cs
- RealProxy.cs
- FieldBuilder.cs
- CompositeDispatchFormatter.cs
- MsmqDiagnostics.cs
- NavigationPropertyEmitter.cs
- EngineSiteSapi.cs
- DbException.cs
- GeneralTransform.cs
- SessionStateItemCollection.cs
- SequentialUshortCollection.cs
- TemplatingOptionsDialog.cs
- DataListItem.cs
- SplashScreen.cs
- ToolBar.cs
- HealthMonitoringSectionHelper.cs
- ConnectionConsumerAttribute.cs
- Int32CollectionConverter.cs
- FilterableAttribute.cs
- QueryFunctions.cs
- EntityRecordInfo.cs
- ComponentDispatcher.cs
- CodeSubDirectory.cs
- DefaultSection.cs
- SafeBitVector32.cs
- XmlAttributeOverrides.cs
- MgmtConfigurationRecord.cs
- XPathAncestorIterator.cs
- GridEntry.cs
- PerformanceCounter.cs
- MenuItemBinding.cs
- QueryContinueDragEvent.cs
- ServiceDescription.cs
- SystemDropShadowChrome.cs
- FlowLayoutSettings.cs
- BitmapEffect.cs
- InertiaTranslationBehavior.cs
- SvcFileManager.cs
- RoutedCommand.cs
- ClickablePoint.cs
- MappedMetaModel.cs
- TextEditorTyping.cs
- StringUtil.cs
- InvalidPrinterException.cs
- RuleSetBrowserDialog.cs
- DefaultPropertiesToSend.cs
- PassportAuthenticationModule.cs
- DocumentPageView.cs
- Visual.cs
- TextElementCollection.cs
- NameService.cs
- SqlDataSourceStatusEventArgs.cs
- _BaseOverlappedAsyncResult.cs
- ValueUtilsSmi.cs
- FusionWrap.cs
- BinaryWriter.cs
- BamlTreeNode.cs
- FormClosedEvent.cs
- TextTreeFixupNode.cs
- DataServiceRequest.cs
- RightNameExpirationInfoPair.cs
- LocalValueEnumerator.cs
- QilPatternFactory.cs
- FlowDecision.cs
- MetafileHeaderWmf.cs
- HttpStreamFormatter.cs
- Rotation3DKeyFrameCollection.cs
- EventManager.cs
- Brush.cs
- DetailsViewPageEventArgs.cs
- WebServiceParameterData.cs
- SmtpLoginAuthenticationModule.cs
- HandlerBase.cs
- AsyncCompletedEventArgs.cs
- RelationshipSet.cs
- PenLineJoinValidation.cs
- PeerResolverElement.cs
- InfiniteIntConverter.cs
- KerberosSecurityTokenParameters.cs
- ColumnMap.cs
- ProcessInfo.cs
- AssemblyNameProxy.cs
- CommandConverter.cs
- NumericUpDownAccelerationCollection.cs
- ListMarkerSourceInfo.cs
- BamlWriter.cs
- PassportAuthentication.cs
- SQLDecimal.cs
- SessionStateContainer.cs
- SortableBindingList.cs