Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- remotingproxy.cs
- CodeTypeDelegate.cs
- QilLiteral.cs
- DrawingContext.cs
- XmlLanguageConverter.cs
- MobileControlBuilder.cs
- SchemaNamespaceManager.cs
- Point3DIndependentAnimationStorage.cs
- SqlDataSourceEnumerator.cs
- CurrencyManager.cs
- SafeRightsManagementQueryHandle.cs
- PropertySegmentSerializationProvider.cs
- SemanticAnalyzer.cs
- InternalConfigSettingsFactory.cs
- Point3D.cs
- XmlQualifiedName.cs
- SystemGatewayIPAddressInformation.cs
- WebBrowserSiteBase.cs
- SymbolPair.cs
- SweepDirectionValidation.cs
- ForceCopyBuildProvider.cs
- BitmapEncoder.cs
- RelationshipEnd.cs
- HtmlInputPassword.cs
- XmlTextReader.cs
- TypeDelegator.cs
- RSAOAEPKeyExchangeFormatter.cs
- DataObjectPastingEventArgs.cs
- DesignerTransactionCloseEvent.cs
- Listbox.cs
- Image.cs
- CompilerScopeManager.cs
- RecommendedAsConfigurableAttribute.cs
- Variable.cs
- ImportCatalogPart.cs
- SrgsDocumentParser.cs
- XsltConvert.cs
- SimpleType.cs
- HttpResponseHeader.cs
- EntityDataSourceUtil.cs
- FormViewDeleteEventArgs.cs
- HostUtils.cs
- Point3DKeyFrameCollection.cs
- MessageQueue.cs
- HttpContextWrapper.cs
- DotExpr.cs
- SafeNativeMethods.cs
- EndGetFileNameFromUserRequest.cs
- KnownTypes.cs
- WeakReference.cs
- UseLicense.cs
- Random.cs
- LinkTarget.cs
- Quaternion.cs
- IpcChannelHelper.cs
- TypeGeneratedEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- ServiceReference.cs
- InkCanvasAutomationPeer.cs
- DynamicFilter.cs
- ExternalDataExchangeService.cs
- TypeNameConverter.cs
- Utils.cs
- DataGridViewRowPrePaintEventArgs.cs
- EventsTab.cs
- InstanceHandleReference.cs
- Vars.cs
- Point.cs
- DataGridViewRowStateChangedEventArgs.cs
- EmissiveMaterial.cs
- DataSourceDesigner.cs
- DeleteStoreRequest.cs
- LockCookie.cs
- ImageButton.cs
- ContextStaticAttribute.cs
- BitmapEffectState.cs
- CodeValidator.cs
- Expressions.cs
- SerializableTypeCodeDomSerializer.cs
- InvalidProgramException.cs
- RtfToXamlReader.cs
- __ConsoleStream.cs
- FacetDescription.cs
- InstancePersistence.cs
- DecoderNLS.cs
- userdatakeys.cs
- CallId.cs
- HealthMonitoringSectionHelper.cs
- XPathDescendantIterator.cs
- EncoderParameters.cs
- XmlNotation.cs
- DataGridViewTextBoxEditingControl.cs
- EncryptedKeyIdentifierClause.cs
- GlyphsSerializer.cs
- BinaryReader.cs
- ButtonBaseAutomationPeer.cs
- SQLBytes.cs
- EventLogger.cs
- Main.cs
- PhysicalFontFamily.cs