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
- ExecutionScope.cs
- WpfGeneratedKnownTypes.cs
- FileInfo.cs
- PresentationSource.cs
- FolderLevelBuildProvider.cs
- RSACryptoServiceProvider.cs
- RuntimeConfigLKG.cs
- CollectionType.cs
- Convert.cs
- BinHexDecoder.cs
- InkCanvasSelectionAdorner.cs
- XsltConvert.cs
- Operand.cs
- _SslState.cs
- ZipIOExtraField.cs
- FieldDescriptor.cs
- ServiceBusyException.cs
- EntityClassGenerator.cs
- TreeIterator.cs
- SubpageParagraph.cs
- XPathArrayIterator.cs
- PointAnimation.cs
- FSWPathEditor.cs
- DataGridViewCellLinkedList.cs
- XmlSerializationWriter.cs
- DataRelation.cs
- DesignerView.Commands.cs
- DBBindings.cs
- SettingsBindableAttribute.cs
- DiscoveryDocumentSerializer.cs
- MimeTypePropertyAttribute.cs
- LogLogRecord.cs
- BamlLocalizableResourceKey.cs
- SortQuery.cs
- RowSpanVector.cs
- MetadataArtifactLoaderComposite.cs
- ToolStripDropDownItem.cs
- SharedConnectionInfo.cs
- Avt.cs
- CounterCreationDataCollection.cs
- SecUtil.cs
- ViewEventArgs.cs
- Bits.cs
- TraceHelpers.cs
- PointAnimationUsingPath.cs
- RIPEMD160.cs
- SystemUdpStatistics.cs
- FormatSelectingMessageInspector.cs
- CryptoStream.cs
- XmlnsCompatibleWithAttribute.cs
- HtmlWindow.cs
- ToolStripPanelSelectionBehavior.cs
- Tuple.cs
- NavigatorInput.cs
- NestedContainer.cs
- TextSpan.cs
- _FtpControlStream.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- RadioButtonList.cs
- DynamicILGenerator.cs
- GridViewColumnHeaderAutomationPeer.cs
- ColorConverter.cs
- OletxTransactionManager.cs
- RijndaelManagedTransform.cs
- SrgsOneOf.cs
- TraceProvider.cs
- SequentialWorkflowHeaderFooter.cs
- FileDialog_Vista_Interop.cs
- SystemIPInterfaceStatistics.cs
- ResourceDisplayNameAttribute.cs
- SByteConverter.cs
- DbProviderFactoriesConfigurationHandler.cs
- DataReceivedEventArgs.cs
- DataGridColumn.cs
- MetaDataInfo.cs
- XmlQueryOutput.cs
- AppendHelper.cs
- HttpServerVarsCollection.cs
- ScriptIgnoreAttribute.cs
- RuleProcessor.cs
- PropertyEntry.cs
- SelfSignedCertificate.cs
- CalendarDataBindingHandler.cs
- bindurihelper.cs
- PartialCachingControl.cs
- XmlSchema.cs
- TextComposition.cs
- BinaryUtilClasses.cs
- TreeNodeSelectionProcessor.cs
- DiscardableAttribute.cs
- MbpInfo.cs
- IsolatedStorage.cs
- CalculatedColumn.cs
- InheritanceUI.cs
- TabPageDesigner.cs
- DataGridRow.cs
- UDPClient.cs
- LOSFormatter.cs
- ObjectStateManagerMetadata.cs
- WebDescriptionAttribute.cs