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
- returneventsaver.cs
- XmlResolver.cs
- ImmutablePropertyDescriptorGridEntry.cs
- Block.cs
- DataGridViewComboBoxColumn.cs
- ViewDesigner.cs
- EnumValAlphaComparer.cs
- DecimalConverter.cs
- ResumeStoryboard.cs
- ToolStripSystemRenderer.cs
- CannotUnloadAppDomainException.cs
- CopyAction.cs
- ASCIIEncoding.cs
- WindowVisualStateTracker.cs
- HtmlLink.cs
- DynamicPropertyHolder.cs
- DtrList.cs
- nulltextcontainer.cs
- MessageDecoder.cs
- EncoderParameter.cs
- WebControlParameterProxy.cs
- MenuItemCollection.cs
- ZipIOFileItemStream.cs
- HttpConfigurationSystem.cs
- LinkConverter.cs
- DataSourceXmlSerializationAttribute.cs
- DBSqlParserColumn.cs
- RepeatBehavior.cs
- HyperLinkColumn.cs
- TraceUtility.cs
- OrderByBuilder.cs
- AuthenticationModulesSection.cs
- OracleInternalConnection.cs
- CopyOnWriteList.cs
- EventProviderWriter.cs
- ProcessHost.cs
- XamlSerializerUtil.cs
- EventRouteFactory.cs
- DateTimeFormatInfo.cs
- DataGridDesigner.cs
- RightsManagementEncryptionTransform.cs
- X509Extension.cs
- SchemaType.cs
- DbSetClause.cs
- PromptStyle.cs
- RoutedUICommand.cs
- OdbcInfoMessageEvent.cs
- FormViewCommandEventArgs.cs
- SystemInfo.cs
- RegexStringValidatorAttribute.cs
- ArgIterator.cs
- PersistenceProviderBehavior.cs
- ClaimTypeElementCollection.cs
- FileUtil.cs
- GifBitmapEncoder.cs
- Camera.cs
- EUCJPEncoding.cs
- Model3D.cs
- UnauthorizedAccessException.cs
- SourceFileInfo.cs
- PriorityQueue.cs
- WhiteSpaceTrimStringConverter.cs
- TypeNameParser.cs
- ViewSimplifier.cs
- SmtpLoginAuthenticationModule.cs
- InfoCardSymmetricCrypto.cs
- Size.cs
- PaperSource.cs
- XPathNavigatorReader.cs
- __ConsoleStream.cs
- DataErrorValidationRule.cs
- TransactionFlowBindingElement.cs
- DefaultBinder.cs
- WeakEventManager.cs
- WorkflowRuntimeSection.cs
- UdpReplyToBehavior.cs
- VirtualizingPanel.cs
- BitmapEffectOutputConnector.cs
- HttpListenerException.cs
- ReaderOutput.cs
- FixedDocument.cs
- Graphics.cs
- DiscoveryExceptionDictionary.cs
- FormatException.cs
- NativeMethods.cs
- WindowInteractionStateTracker.cs
- UInt64.cs
- DefaultConfirmation.cs
- EncodingInfo.cs
- MetadataArtifactLoaderCompositeResource.cs
- MailAddressParser.cs
- CreateUserWizardStep.cs
- NativeMethods.cs
- ExpressionConverter.cs
- sqlser.cs
- EmptyReadOnlyDictionaryInternal.cs
- Point3D.cs
- DirectionalLight.cs
- HashSet.cs
- WindowsUpDown.cs