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
- FontSource.cs
- GeneralTransformGroup.cs
- FusionWrap.cs
- MailAddressCollection.cs
- AsymmetricAlgorithm.cs
- ConfigurationSettings.cs
- PersistenceProviderElement.cs
- BoolExpression.cs
- FontClient.cs
- AQNBuilder.cs
- ParseChildrenAsPropertiesAttribute.cs
- Metafile.cs
- SoapExtensionStream.cs
- ErrorInfoXmlDocument.cs
- CommandEventArgs.cs
- WindowsFormsHostAutomationPeer.cs
- TemplatedAdorner.cs
- ListViewDeletedEventArgs.cs
- TreeNodeConverter.cs
- ImageBrush.cs
- TypeConverter.cs
- KeyTime.cs
- ScrollViewer.cs
- COM2ExtendedBrowsingHandler.cs
- Geometry.cs
- DataPagerField.cs
- ServiceDurableInstanceContextProvider.cs
- InkSerializer.cs
- XmlResolver.cs
- ExeContext.cs
- ColorDialog.cs
- LassoSelectionBehavior.cs
- MapPathBasedVirtualPathProvider.cs
- DbProviderConfigurationHandler.cs
- Transform3D.cs
- ValueProviderWrapper.cs
- WeakRefEnumerator.cs
- CompoundFileStreamReference.cs
- ScriptReference.cs
- ReadWriteObjectLock.cs
- RecipientInfo.cs
- GenericParameterDataContract.cs
- relpropertyhelper.cs
- Range.cs
- CounterSet.cs
- DataGridViewCellValueEventArgs.cs
- SelectionChangedEventArgs.cs
- Point3DCollectionConverter.cs
- LookupBindingPropertiesAttribute.cs
- XmlDataImplementation.cs
- ProviderConnectionPointCollection.cs
- EntityContainerRelationshipSet.cs
- DispatcherSynchronizationContext.cs
- XmlDictionaryReader.cs
- DataGridDesigner.cs
- StateBag.cs
- userdatakeys.cs
- filewebresponse.cs
- RegexCompilationInfo.cs
- DbProviderServices.cs
- File.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TimeZone.cs
- SafeProcessHandle.cs
- ObjectDataSourceDesigner.cs
- MetadataArtifactLoaderCompositeFile.cs
- BoundField.cs
- OciHandle.cs
- SecurityKeyType.cs
- InputScope.cs
- SelectionService.cs
- DictionaryCustomTypeDescriptor.cs
- XamlBrushSerializer.cs
- WebBrowserNavigatingEventHandler.cs
- sqlinternaltransaction.cs
- FirstMatchCodeGroup.cs
- ObjectListSelectEventArgs.cs
- SmtpNtlmAuthenticationModule.cs
- PolyLineSegment.cs
- NaturalLanguageHyphenator.cs
- WSFederationHttpSecurity.cs
- PresentationSource.cs
- CodeTypeReference.cs
- LineGeometry.cs
- SocketAddress.cs
- BamlLocalizabilityResolver.cs
- CommentAction.cs
- TimeoutException.cs
- PlaceHolder.cs
- DefinitionBase.cs
- HostUtils.cs
- BooleanFunctions.cs
- ServiceDesigner.cs
- StaticFileHandler.cs
- XsltOutput.cs
- ClientBuildManager.cs
- UnSafeCharBuffer.cs
- SafeNativeMethods.cs
- LingerOption.cs
- CmsInterop.cs