Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- _Semaphore.cs
- FullTextState.cs
- ActivityTypeDesigner.xaml.cs
- WebPartEditorCancelVerb.cs
- HintTextMaxWidthConverter.cs
- AssertHelper.cs
- ContainerActivationHelper.cs
- BamlResourceSerializer.cs
- DataControlFieldCell.cs
- SecurityRequiresReviewAttribute.cs
- HatchBrush.cs
- AuthenticodeSignatureInformation.cs
- ToolBarButtonClickEvent.cs
- WindowsFormsHostAutomationPeer.cs
- HebrewCalendar.cs
- TextDecorationLocationValidation.cs
- XmlDeclaration.cs
- HtmlInputButton.cs
- Oid.cs
- ReachSerializer.cs
- WizardSideBarListControlItemEventArgs.cs
- LinqDataSourceSelectEventArgs.cs
- SoapHttpTransportImporter.cs
- EncodingInfo.cs
- Transform3D.cs
- DocumentSequence.cs
- XmlObjectSerializerReadContextComplexJson.cs
- DetailsView.cs
- HandleCollector.cs
- SmiContextFactory.cs
- BeginStoryboard.cs
- DBProviderConfigurationHandler.cs
- ControlPaint.cs
- OptimizedTemplateContentHelper.cs
- _BasicClient.cs
- ReadOnlyNameValueCollection.cs
- InheritanceUI.cs
- FileChangesMonitor.cs
- GlyphsSerializer.cs
- CommandValueSerializer.cs
- PeerName.cs
- Vector3DCollectionConverter.cs
- ExcludePathInfo.cs
- WebResponse.cs
- HebrewCalendar.cs
- DataSourceExpression.cs
- ComNativeDescriptor.cs
- HostingMessageProperty.cs
- TextRenderer.cs
- ExcludePathInfo.cs
- MediaPlayer.cs
- StoreUtilities.cs
- StringComparer.cs
- Propagator.JoinPropagator.cs
- Keyboard.cs
- EpmContentSerializerBase.cs
- TabRenderer.cs
- Int32RectValueSerializer.cs
- WindowsIPAddress.cs
- ArraySegment.cs
- ErrorStyle.cs
- EventlogProvider.cs
- BaseValidator.cs
- XamlHostingSectionGroup.cs
- mediaeventargs.cs
- MembershipSection.cs
- EraserBehavior.cs
- PrinterUnitConvert.cs
- XmlDataImplementation.cs
- Int32Rect.cs
- ClientSettingsProvider.cs
- SignatureResourcePool.cs
- WindowsSysHeader.cs
- MethodAccessException.cs
- XamlFigureLengthSerializer.cs
- TemplateParser.cs
- HasRunnableWorkflowEvent.cs
- NameValuePair.cs
- HtmlButton.cs
- ConnectorRouter.cs
- PointConverter.cs
- Size3D.cs
- Bezier.cs
- TemplateKeyConverter.cs
- CAGDesigner.cs
- ZipIOExtraFieldPaddingElement.cs
- SslStreamSecurityElement.cs
- GregorianCalendarHelper.cs
- QuerySafeNavigator.cs
- OutputCacheModule.cs
- basecomparevalidator.cs
- ClientOptions.cs
- TimeEnumHelper.cs
- MappingSource.cs
- AutomationIdentifierGuids.cs
- DBNull.cs
- _AutoWebProxyScriptEngine.cs
- DecimalAnimation.cs
- SatelliteContractVersionAttribute.cs
- XamlRtfConverter.cs