Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 3 / 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. //------------------------------------------------------------------------------ //// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UpdateTranslator.cs
- InheritablePropertyChangeInfo.cs
- EntityDataSourceDataSelection.cs
- FeatureAttribute.cs
- DataObjectPastingEventArgs.cs
- IPPacketInformation.cs
- RootDesignerSerializerAttribute.cs
- OdbcConnectionOpen.cs
- infer.cs
- FixedPage.cs
- ToolBar.cs
- Keyboard.cs
- WmpBitmapDecoder.cs
- ListViewTableRow.cs
- Size.cs
- CryptoApi.cs
- _BaseOverlappedAsyncResult.cs
- InkCanvasAutomationPeer.cs
- TypeUtil.cs
- XmlSerializableReader.cs
- EditCommandColumn.cs
- StringWriter.cs
- ProgressBarRenderer.cs
- CommandExpr.cs
- MaskInputRejectedEventArgs.cs
- CheckBox.cs
- EdmError.cs
- DeclarativeCatalogPartDesigner.cs
- HyperLinkStyle.cs
- AutoResizedEvent.cs
- ListItemsPage.cs
- MemoryRecordBuffer.cs
- PkcsUtils.cs
- HttpHeaderCollection.cs
- InfoCardAsymmetricCrypto.cs
- XomlCompiler.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- LoginName.cs
- OletxTransactionFormatter.cs
- FormatControl.cs
- PreloadedPackages.cs
- MetadataItemEmitter.cs
- RecordBuilder.cs
- GPRECT.cs
- DataGridViewRowPrePaintEventArgs.cs
- SessionState.cs
- LinqDataSourceStatusEventArgs.cs
- RedistVersionInfo.cs
- ColumnBinding.cs
- LongValidatorAttribute.cs
- EncoderBestFitFallback.cs
- ControlCommandSet.cs
- UnsafePeerToPeerMethods.cs
- ManagedCodeMarkers.cs
- HashSetEqualityComparer.cs
- OutputBuffer.cs
- NaturalLanguageHyphenator.cs
- BrushConverter.cs
- ButtonDesigner.cs
- DataGridViewButtonColumn.cs
- _CacheStreams.cs
- Win32MouseDevice.cs
- NativeObjectSecurity.cs
- TypeConverter.cs
- StackSpiller.Bindings.cs
- SnapshotChangeTrackingStrategy.cs
- PlacementWorkspace.cs
- PathTooLongException.cs
- ServiceProviders.cs
- QuotedStringFormatReader.cs
- TriState.cs
- DiscoveryClientDocuments.cs
- SqlDuplicator.cs
- WindowsSolidBrush.cs
- MergablePropertyAttribute.cs
- CollectionBase.cs
- LineInfo.cs
- NavigatorOutput.cs
- FactoryMaker.cs
- DataGridViewBindingCompleteEventArgs.cs
- Rijndael.cs
- Comparer.cs
- SqlIdentifier.cs
- SafeHandles.cs
- SourceSwitch.cs
- ParameterCollection.cs
- HtmlInputSubmit.cs
- SimpleHandlerFactory.cs
- BitmapInitialize.cs
- CollectionViewGroup.cs
- RemoteWebConfigurationHostStream.cs
- ResourceKey.cs
- RegexStringValidatorAttribute.cs
- ResizingMessageFilter.cs
- coordinatorfactory.cs
- BuildProvidersCompiler.cs
- ConnectionConsumerAttribute.cs
- CalendarDateChangedEventArgs.cs
- DocumentSchemaValidator.cs
- AsyncSerializedWorker.cs