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
- Vector3DIndependentAnimationStorage.cs
- Win32.cs
- ObjectParameter.cs
- ClickablePoint.cs
- EncoderParameters.cs
- NetSectionGroup.cs
- RichListBox.cs
- HttpListenerRequest.cs
- SelectedCellsCollection.cs
- ResourceDescriptionAttribute.cs
- SizeF.cs
- HeaderedContentControl.cs
- SchemaNotation.cs
- EntityWrapperFactory.cs
- GridItemProviderWrapper.cs
- RolePrincipal.cs
- MembershipSection.cs
- BufferedGraphicsContext.cs
- MethodBody.cs
- IntSecurity.cs
- ServiceReference.cs
- XmlCountingReader.cs
- HttpListenerResponse.cs
- TextRangeSerialization.cs
- LabelEditEvent.cs
- ScriptReferenceBase.cs
- DataPagerFieldCollection.cs
- XmlAnyAttributeAttribute.cs
- DataGridItem.cs
- InvalidCommandTreeException.cs
- ExtractorMetadata.cs
- GetPolicyDetailsRequest.cs
- TextPointer.cs
- WindowsTokenRoleProvider.cs
- HtmlEncodedRawTextWriter.cs
- StateChangeEvent.cs
- StringUtil.cs
- Stroke.cs
- Point4D.cs
- CompilerLocalReference.cs
- RuntimeComponentFilter.cs
- MarshalByRefObject.cs
- SiteMapNodeItemEventArgs.cs
- Guid.cs
- PrefixHandle.cs
- PasswordBoxAutomationPeer.cs
- XamlRtfConverter.cs
- RequestCachingSection.cs
- PasswordRecoveryAutoFormat.cs
- SourceChangedEventArgs.cs
- UtilityExtension.cs
- FontInfo.cs
- ResolveCriteria.cs
- DNS.cs
- ListViewInsertEventArgs.cs
- InnerItemCollectionView.cs
- FontWeightConverter.cs
- ServiceOperationViewControl.cs
- InfocardInteractiveChannelInitializer.cs
- SignedXmlDebugLog.cs
- ShaperBuffers.cs
- GlyphingCache.cs
- RadioButtonBaseAdapter.cs
- VarRemapper.cs
- DataGridViewCellPaintingEventArgs.cs
- EvidenceBase.cs
- RepeatInfo.cs
- ConfigurationLockCollection.cs
- Italic.cs
- SecurityException.cs
- DataGridRowsPresenter.cs
- LinqDataSource.cs
- HttpListener.cs
- CheckBoxFlatAdapter.cs
- Rect3DValueSerializer.cs
- TableCellCollection.cs
- DataServiceProviderWrapper.cs
- BitmapEffect.cs
- DataGrid.cs
- SafeEventHandle.cs
- InheritanceContextHelper.cs
- BitmapEffectDrawingContextWalker.cs
- SoapIncludeAttribute.cs
- LazyTextWriterCreator.cs
- ConnectionStringSettings.cs
- SatelliteContractVersionAttribute.cs
- ipaddressinformationcollection.cs
- XmlSchemaGroupRef.cs
- StoreConnection.cs
- PathTooLongException.cs
- AssemblySettingAttributes.cs
- BitArray.cs
- ControlUtil.cs
- TypeConverters.cs
- ColorPalette.cs
- IdentityReference.cs
- LockCookie.cs
- CompilerGlobalScopeAttribute.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- Root.cs