Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 1 / 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
- ActivityInstanceReference.cs
- ExtendedPropertyDescriptor.cs
- SoundPlayerAction.cs
- StylusShape.cs
- MemberMaps.cs
- RelationshipEndMember.cs
- SqlDependency.cs
- LogWriteRestartAreaAsyncResult.cs
- TextLineResult.cs
- HandlerBase.cs
- EdmRelationshipRoleAttribute.cs
- ResourceProviderFactory.cs
- DoubleStorage.cs
- ConcurrencyMode.cs
- SynchronizingStream.cs
- PerformanceCounterLib.cs
- SignatureConfirmationElement.cs
- RuntimeVariablesExpression.cs
- PersistChildrenAttribute.cs
- TypedTableBase.cs
- DeviceContext2.cs
- WebPartDisplayModeEventArgs.cs
- Adorner.cs
- GeneralTransform3DGroup.cs
- DataSourceCache.cs
- CLRBindingWorker.cs
- BaseUriHelper.cs
- FrameworkContentElement.cs
- LeaseManager.cs
- SqlCommand.cs
- SapiRecognizer.cs
- HtmlHistory.cs
- AttributeCollection.cs
- SequentialUshortCollection.cs
- IsolatedStorageFilePermission.cs
- SchemaExporter.cs
- BinaryParser.cs
- ResourceDictionary.cs
- UpdatePanelTriggerCollection.cs
- ProfilePropertySettings.cs
- SpanIndex.cs
- CodeTypeMember.cs
- Focus.cs
- SettingsSection.cs
- ActionFrame.cs
- ImageCodecInfoPrivate.cs
- SqlDataSourceRefreshSchemaForm.cs
- BaseTreeIterator.cs
- SQLBinary.cs
- SortDescription.cs
- IsolatedStorageFile.cs
- Array.cs
- DateTimeOffset.cs
- Guid.cs
- ProfilePropertySettingsCollection.cs
- WebPartZone.cs
- Size.cs
- DynamicResourceExtensionConverter.cs
- AsymmetricKeyExchangeDeformatter.cs
- RegexGroup.cs
- PenLineJoinValidation.cs
- DiagnosticTraceSchemas.cs
- ToolboxItem.cs
- OleDbWrapper.cs
- Wizard.cs
- Collection.cs
- LabelDesigner.cs
- NetMsmqBinding.cs
- EmptyControlCollection.cs
- RequestQueue.cs
- InfocardChannelParameter.cs
- CommentEmitter.cs
- SafePEFileHandle.cs
- XNodeNavigator.cs
- MailWriter.cs
- InputChannel.cs
- CommonDialog.cs
- ArrayConverter.cs
- DataSourceSelectArguments.cs
- UnaryNode.cs
- objectresult_tresulttype.cs
- ProviderSettings.cs
- SchemaComplexType.cs
- Set.cs
- BitmapEffectRenderDataResource.cs
- QuaternionAnimation.cs
- XdrBuilder.cs
- CorrelationKeyCalculator.cs
- InteropEnvironment.cs
- BuilderPropertyEntry.cs
- RegistrySecurity.cs
- TabControl.cs
- WorkflowInstance.cs
- MatchingStyle.cs
- ReferencedCollectionType.cs
- ColorConvertedBitmap.cs
- Console.cs
- SqlEnums.cs
- LambdaExpression.cs
- XmlSerializerNamespaces.cs