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
- StylesEditorDialog.cs
- Identifier.cs
- TreeBuilderBamlTranslator.cs
- TypeNameHelper.cs
- SqlProcedureAttribute.cs
- DataSourceHelper.cs
- WindowsFormsHostPropertyMap.cs
- CloudCollection.cs
- DataPager.cs
- SignedInfo.cs
- WindowsEditBox.cs
- EdmToObjectNamespaceMap.cs
- CompilerErrorCollection.cs
- RecordsAffectedEventArgs.cs
- CodeTypeDeclarationCollection.cs
- HttpSysSettings.cs
- PermissionSetEnumerator.cs
- precedingsibling.cs
- UndoUnit.cs
- CompositeControl.cs
- Vector3dCollection.cs
- LayoutTableCell.cs
- ObjectDataSourceMethodEditor.cs
- CardSpacePolicyElement.cs
- SecurityTokenContainer.cs
- PointValueSerializer.cs
- Italic.cs
- IdSpace.cs
- OutputCacheSettingsSection.cs
- BeginEvent.cs
- PackWebRequestFactory.cs
- DescriptionCreator.cs
- BindingMAnagerBase.cs
- PanningMessageFilter.cs
- SHA384.cs
- TextCollapsingProperties.cs
- OperationResponse.cs
- CopyAction.cs
- WindowsListBox.cs
- HttpRequest.cs
- ColumnMapVisitor.cs
- PrincipalPermission.cs
- StaticSiteMapProvider.cs
- ObjectListCommand.cs
- XmlSchemaAnnotated.cs
- DbConnectionPoolGroup.cs
- SmtpClient.cs
- SmtpReplyReader.cs
- SiteMap.cs
- RenameRuleObjectDialog.Designer.cs
- ACL.cs
- SetIterators.cs
- ObfuscationAttribute.cs
- PropertyManager.cs
- ListControlConvertEventArgs.cs
- Assembly.cs
- RangeBase.cs
- CaretElement.cs
- HeaderedItemsControl.cs
- WebDisplayNameAttribute.cs
- XamlSerializationHelper.cs
- OperatingSystemVersionCheck.cs
- xsdvalidator.cs
- SrgsDocumentParser.cs
- DbConnectionPoolOptions.cs
- Triangle.cs
- ZipPackage.cs
- StrokeNodeOperations2.cs
- AttributeQuery.cs
- TrackingMemoryStreamFactory.cs
- DiagnosticSection.cs
- HttpCapabilitiesBase.cs
- SafeFileMappingHandle.cs
- _ListenerResponseStream.cs
- XMLUtil.cs
- _NtlmClient.cs
- ProgressBar.cs
- ListControlConvertEventArgs.cs
- QueueTransferProtocol.cs
- DataKey.cs
- StylusDownEventArgs.cs
- OleDbMetaDataFactory.cs
- ObfuscateAssemblyAttribute.cs
- NonSerializedAttribute.cs
- FrameworkPropertyMetadata.cs
- Label.cs
- Merger.cs
- SubqueryRules.cs
- DataControlPagerLinkButton.cs
- PagedDataSource.cs
- DateTimeFormatInfo.cs
- AmbientLight.cs
- WMIGenerator.cs
- EncodingDataItem.cs
- TypeRestriction.cs
- HwndSource.cs
- TableLayoutColumnStyleCollection.cs
- PerfCounters.cs
- ETagAttribute.cs
- BufferedGraphics.cs