Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 5 / 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
- ArrayListCollectionBase.cs
- Debugger.cs
- Margins.cs
- StyleXamlParser.cs
- DataGridViewColumn.cs
- TextAutomationPeer.cs
- MetadataHelper.cs
- MediaContext.cs
- COM2Enum.cs
- SqlDataSourceView.cs
- InvalidPrinterException.cs
- ObjectToIdCache.cs
- DbTypeMap.cs
- PropertyValue.cs
- DesignerFrame.cs
- FreezableDefaultValueFactory.cs
- LabelExpression.cs
- InvalidEnumArgumentException.cs
- DefaultHttpHandler.cs
- ImageIndexConverter.cs
- ProcessHostConfigUtils.cs
- NavigatorOutput.cs
- CodeStatement.cs
- Configuration.cs
- EventProviderClassic.cs
- PathFigureCollectionConverter.cs
- XmlSchemaAnyAttribute.cs
- CategoryAttribute.cs
- NTAccount.cs
- Rules.cs
- pingexception.cs
- NullEntityWrapper.cs
- WindowsBrush.cs
- HtmlImage.cs
- SqlTriggerAttribute.cs
- Condition.cs
- NavigationService.cs
- Timer.cs
- AttributeQuery.cs
- ConfigXmlAttribute.cs
- AxisAngleRotation3D.cs
- InternalDuplexBindingElement.cs
- DelegatedStream.cs
- SoapAttributeOverrides.cs
- ChannelServices.cs
- XmlSchemaFacet.cs
- ShaderRenderModeValidation.cs
- ParserContext.cs
- ADConnectionHelper.cs
- XPathDocumentNavigator.cs
- Table.cs
- Sentence.cs
- EventLogException.cs
- CodeTypeMemberCollection.cs
- TabletDeviceInfo.cs
- ParserContext.cs
- XmlLangPropertyAttribute.cs
- MessageBox.cs
- IntegerValidatorAttribute.cs
- Executor.cs
- ImpersonationContext.cs
- BitmapEffectDrawing.cs
- ResolveCriteria11.cs
- StylusPointProperties.cs
- AsymmetricSignatureFormatter.cs
- BufferBuilder.cs
- RegexCompiler.cs
- Parameter.cs
- IntegrationExceptionEventArgs.cs
- VirtualDirectoryMapping.cs
- TableRowCollection.cs
- WinEventQueueItem.cs
- InvalidProgramException.cs
- basenumberconverter.cs
- XmlAttributeAttribute.cs
- TabControl.cs
- User.cs
- Validator.cs
- RenderDataDrawingContext.cs
- NameValueConfigurationElement.cs
- ResXDataNode.cs
- Point3DAnimationBase.cs
- BinaryNode.cs
- PropertyInformationCollection.cs
- ComIntegrationManifestGenerator.cs
- RtfNavigator.cs
- DataListCommandEventArgs.cs
- Reference.cs
- ListBox.cs
- IisNotInstalledException.cs
- ImagingCache.cs
- ProfileSettingsCollection.cs
- xdrvalidator.cs
- DataListGeneralPage.cs
- safePerfProviderHandle.cs
- EntityDataSourceContextCreatedEventArgs.cs
- DataGridViewColumnConverter.cs
- CrossContextChannel.cs
- MenuItem.cs
- GridViewDeletedEventArgs.cs