Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ListViewItemMouseHoverEvent.cs
- ClientCredentialsSecurityTokenManager.cs
- SortableBindingList.cs
- BackgroundWorker.cs
- OverflowException.cs
- OperationParameterInfo.cs
- PageClientProxyGenerator.cs
- FixedSOMGroup.cs
- RadioButtonFlatAdapter.cs
- AVElementHelper.cs
- PrimitiveType.cs
- EmptyControlCollection.cs
- CodeDefaultValueExpression.cs
- SqlBulkCopyColumnMappingCollection.cs
- ImageDrawing.cs
- ScriptReferenceEventArgs.cs
- HttpApplication.cs
- Win32MouseDevice.cs
- CodeSubDirectoriesCollection.cs
- MenuItemStyle.cs
- HttpUnhandledOperationInvoker.cs
- RsaKeyIdentifierClause.cs
- coordinator.cs
- FullTextBreakpoint.cs
- NgenServicingAttributes.cs
- SecurityPolicySection.cs
- ProfileEventArgs.cs
- DesignerToolStripControlHost.cs
- MergePropertyDescriptor.cs
- TableHeaderCell.cs
- RightNameExpirationInfoPair.cs
- ToolStripLabel.cs
- JsonDeserializer.cs
- ChainOfResponsibility.cs
- EmptyEnumerator.cs
- ColumnCollection.cs
- BreadCrumbTextConverter.cs
- SectionInput.cs
- TypedReference.cs
- Msmq.cs
- WpfGeneratedKnownTypes.cs
- SafeRightsManagementSessionHandle.cs
- SystemWebCachingSectionGroup.cs
- CodeNamespaceCollection.cs
- AssemblySettingAttributes.cs
- DataGridState.cs
- ModelUIElement3D.cs
- WebPartVerbsEventArgs.cs
- remotingproxy.cs
- ContextTokenTypeConverter.cs
- DataGridCell.cs
- SafeCryptoHandles.cs
- BrowserInteropHelper.cs
- TextClipboardData.cs
- ResourceContainer.cs
- OleDbConnectionFactory.cs
- DynamicILGenerator.cs
- MasterPage.cs
- MimeMapping.cs
- Event.cs
- Message.cs
- ObjectKeyFrameCollection.cs
- ControlTemplate.cs
- HandledMouseEvent.cs
- HttpContextBase.cs
- SizeAnimationBase.cs
- HtmlInputCheckBox.cs
- OdbcConnectionStringbuilder.cs
- ContainerVisual.cs
- SamlSubjectStatement.cs
- FastEncoder.cs
- IDReferencePropertyAttribute.cs
- EntityProviderServices.cs
- MenuItem.cs
- TextRenderer.cs
- TreeNodeStyleCollection.cs
- ConcurrentBag.cs
- FieldToken.cs
- FormViewDeletedEventArgs.cs
- StringToken.cs
- HandledEventArgs.cs
- BindableTemplateBuilder.cs
- DefinitionBase.cs
- InputScopeAttribute.cs
- HashCodeCombiner.cs
- BaseAsyncResult.cs
- LinkLabel.cs
- HScrollBar.cs
- WebContext.cs
- ZipFileInfo.cs
- AutomationElementCollection.cs
- NativeMethods.cs
- TableHeaderCell.cs
- DataBindingCollectionEditor.cs
- NetworkAddressChange.cs
- activationcontext.cs
- DataConnectionHelper.cs
- NavigateEvent.cs
- DeclarationUpdate.cs
- SerializerDescriptor.cs