Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AttachedAnnotationChangedEventArgs.cs
- UnitControl.cs
- RegexEditorDialog.cs
- BindingNavigator.cs
- MouseActionConverter.cs
- Funcletizer.cs
- XmlSchemaSubstitutionGroup.cs
- PipeException.cs
- HttpPostedFile.cs
- DomainUpDown.cs
- ObjectDataSourceDisposingEventArgs.cs
- WindowsAuthenticationEventArgs.cs
- OptimisticConcurrencyException.cs
- FixUp.cs
- WhitespaceRuleLookup.cs
- NamedObject.cs
- AssemblyBuilder.cs
- ConnectionStringsSection.cs
- TextFormatterImp.cs
- ZipIOLocalFileHeader.cs
- HitTestResult.cs
- QilCloneVisitor.cs
- ComponentChangingEvent.cs
- SymmetricAlgorithm.cs
- CollectionsUtil.cs
- OutputWindow.cs
- _UriTypeConverter.cs
- ProcessActivityTreeOptions.cs
- ToolStripHighContrastRenderer.cs
- XmlQualifiedNameTest.cs
- ItemContainerGenerator.cs
- PrintPageEvent.cs
- CommandManager.cs
- JpegBitmapDecoder.cs
- CmsInterop.cs
- ArrayConverter.cs
- Image.cs
- BasicHttpMessageSecurityElement.cs
- Attribute.cs
- AutomationElement.cs
- PerfCounters.cs
- ListViewItemSelectionChangedEvent.cs
- JapaneseLunisolarCalendar.cs
- PropertyStore.cs
- RegionIterator.cs
- StringDictionary.cs
- DataPagerFieldCollection.cs
- WindowsEditBox.cs
- GenericAuthenticationEventArgs.cs
- EntityModelBuildProvider.cs
- Point3DAnimationUsingKeyFrames.cs
- ImmutableObjectAttribute.cs
- DataGridViewCellPaintingEventArgs.cs
- Pair.cs
- EventLogPermissionEntryCollection.cs
- ArrayTypeMismatchException.cs
- ContourSegment.cs
- Stroke.cs
- Int32RectConverter.cs
- DataDesignUtil.cs
- XmlCDATASection.cs
- XmlnsDefinitionAttribute.cs
- SecurityTokenRequirement.cs
- XmlSchemaAny.cs
- DesignerPainter.cs
- WebScriptClientGenerator.cs
- DifferencingCollection.cs
- GridItemProviderWrapper.cs
- ReflectPropertyDescriptor.cs
- ControlCollection.cs
- ResourceManagerWrapper.cs
- XmlComplianceUtil.cs
- ActivationServices.cs
- Validator.cs
- BitmapEffectrendercontext.cs
- PanningMessageFilter.cs
- ItemsChangedEventArgs.cs
- LogWriteRestartAreaAsyncResult.cs
- Sequence.cs
- TraceData.cs
- PointCollectionConverter.cs
- SchemaElement.cs
- BreadCrumbTextConverter.cs
- IRCollection.cs
- XmlSecureResolver.cs
- DataGridViewCellEventArgs.cs
- Screen.cs
- SystemMulticastIPAddressInformation.cs
- EUCJPEncoding.cs
- TileBrush.cs
- KeyValuePairs.cs
- Wildcard.cs
- Storyboard.cs
- DataSourceGroupCollection.cs
- Pens.cs
- Utils.cs
- RowBinding.cs
- DbException.cs
- XmlStringTable.cs
- ObjectQueryState.cs