Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SignedXml.cs
- BlurBitmapEffect.cs
- TemplateControlParser.cs
- SpellerError.cs
- SettingsProviderCollection.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- VarRemapper.cs
- EventLogPermissionAttribute.cs
- LinqToSqlWrapper.cs
- MdiWindowListItemConverter.cs
- StackSpiller.Bindings.cs
- UrlPath.cs
- CssClassPropertyAttribute.cs
- RequestTimeoutManager.cs
- SecurityUtils.cs
- UIElementHelper.cs
- RemotingConfiguration.cs
- Semaphore.cs
- TreeNode.cs
- TextEditor.cs
- LayoutEvent.cs
- DataGridViewAdvancedBorderStyle.cs
- DES.cs
- Currency.cs
- PathFigureCollectionConverter.cs
- DetailsViewDeleteEventArgs.cs
- ConditionalWeakTable.cs
- InputGestureCollection.cs
- ComPlusTypeValidator.cs
- HttpHandlerActionCollection.cs
- ArrangedElementCollection.cs
- EventListener.cs
- Serializer.cs
- HiddenFieldDesigner.cs
- DesignerAttribute.cs
- CommandEventArgs.cs
- Translator.cs
- ServiceOperationInfoTypeConverter.cs
- ELinqQueryState.cs
- webproxy.cs
- JsonObjectDataContract.cs
- __ConsoleStream.cs
- WebPartHeaderCloseVerb.cs
- DateTimeParse.cs
- SafeFreeMibTable.cs
- TouchPoint.cs
- ForceCopyBuildProvider.cs
- HttpModuleActionCollection.cs
- SourceChangedEventArgs.cs
- ToolBarButtonClickEvent.cs
- StdRegProviderWrapper.cs
- TypeUnloadedException.cs
- LocatorManager.cs
- CallTemplateAction.cs
- MimeParameter.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- SqlUdtInfo.cs
- Publisher.cs
- AbsoluteQuery.cs
- PrintPageEvent.cs
- CompilerError.cs
- Normalization.cs
- StateChangeEvent.cs
- ParameterCollection.cs
- AssemblySettingAttributes.cs
- PrintPreviewDialog.cs
- InputScope.cs
- ViewPort3D.cs
- GenericNameHandler.cs
- DescendantBaseQuery.cs
- ListViewItem.cs
- SchemaNamespaceManager.cs
- ReachSerializationUtils.cs
- ResolveResponse.cs
- RoleManagerModule.cs
- CompositionAdorner.cs
- XPathMultyIterator.cs
- CodeSubDirectoriesCollection.cs
- CodeMemberField.cs
- DataGridDetailsPresenterAutomationPeer.cs
- EventBuilder.cs
- InstanceDataCollectionCollection.cs
- RuleSetBrowserDialog.cs
- SafeArchiveContext.cs
- DbDataSourceEnumerator.cs
- CopyOnWriteList.cs
- ItemsControlAutomationPeer.cs
- WindowsTokenRoleProvider.cs
- DefaultAsyncDataDispatcher.cs
- ByteStream.cs
- Parameter.cs
- BulletedList.cs
- CodeChecksumPragma.cs
- OperationCanceledException.cs
- ContractMapping.cs
- InputScopeNameConverter.cs
- StylusShape.cs
- RsaSecurityTokenAuthenticator.cs
- sqlmetadatafactory.cs
- ToolStripRenderEventArgs.cs