Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 2 / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ParameterCollection.cs
- OleDbRowUpdatedEvent.cs
- SynchronizingStream.cs
- ComEventsHelper.cs
- XmlIlTypeHelper.cs
- DocumentReference.cs
- RoleServiceManager.cs
- TypeConverterHelper.cs
- Border.cs
- RenderData.cs
- DiscardableAttribute.cs
- ToolStripItemClickedEventArgs.cs
- TypeSemantics.cs
- FunctionDetailsReader.cs
- HttpBufferlessInputStream.cs
- XmlNodeChangedEventArgs.cs
- XmlSchemaAttribute.cs
- ComEventsHelper.cs
- Substitution.cs
- AppDomainFactory.cs
- TableCell.cs
- PolicyException.cs
- XPathAncestorIterator.cs
- DataFormat.cs
- XamlSerializer.cs
- DataServiceException.cs
- WebPartCollection.cs
- CommonBehaviorsSection.cs
- SortExpressionBuilder.cs
- NamedPermissionSet.cs
- IndicCharClassifier.cs
- SQLInt16Storage.cs
- TextCompositionManager.cs
- Configuration.cs
- Guid.cs
- ContractReference.cs
- RoleManagerSection.cs
- StateWorkerRequest.cs
- HttpCacheParams.cs
- SchemaCollectionPreprocessor.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- BitmapDownload.cs
- SolidColorBrush.cs
- BooleanConverter.cs
- ListBoxDesigner.cs
- InvalidAsynchronousStateException.cs
- BufferedWebEventProvider.cs
- PieceNameHelper.cs
- ActivityStateQuery.cs
- Collection.cs
- EventLogWatcher.cs
- SystemDropShadowChrome.cs
- WebPartAuthorizationEventArgs.cs
- SqlServer2KCompatibilityAnnotation.cs
- QuotedStringFormatReader.cs
- DesignerVerbToolStripMenuItem.cs
- CodeGenerator.cs
- DiagnosticStrings.cs
- XmlSchemaRedefine.cs
- DataGridViewCellLinkedList.cs
- ProgressBarRenderer.cs
- DataGridViewRowPrePaintEventArgs.cs
- Html32TextWriter.cs
- _ConnectOverlappedAsyncResult.cs
- QilPatternVisitor.cs
- IndentedTextWriter.cs
- DoubleStorage.cs
- SynchronizationLockException.cs
- ClientRoleProvider.cs
- PKCS1MaskGenerationMethod.cs
- WebBrowsableAttribute.cs
- HtmlHistory.cs
- XmlILStorageConverter.cs
- PropertyManager.cs
- CompareValidator.cs
- VisualState.cs
- AssertHelper.cs
- PermissionRequestEvidence.cs
- RuleSetReference.cs
- DetailsViewCommandEventArgs.cs
- AssemblyHash.cs
- CodeDomSerializationProvider.cs
- XmlAttributeOverrides.cs
- WebSysDefaultValueAttribute.cs
- IISUnsafeMethods.cs
- DataGridViewCellMouseEventArgs.cs
- Imaging.cs
- HttpClientChannel.cs
- ExpressionPrefixAttribute.cs
- DBSchemaTable.cs
- PenThreadPool.cs
- ProcessModule.cs
- PartialList.cs
- NetMsmqBindingElement.cs
- WorkflowQueue.cs
- X509CertificateTrustedIssuerElement.cs
- ClientSession.cs
- ScrollChrome.cs
- NotImplementedException.cs
- XmlILOptimizerVisitor.cs