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
- SQLBoolean.cs
- ImportCatalogPart.cs
- ShaderEffect.cs
- TreeNodeConverter.cs
- PenLineJoinValidation.cs
- SimpleHandlerFactory.cs
- HttpCachePolicyElement.cs
- SelectionItemPattern.cs
- UmAlQuraCalendar.cs
- TdsParserHelperClasses.cs
- DocumentsTrace.cs
- ChameleonKey.cs
- StylusPointPropertyId.cs
- RangeContentEnumerator.cs
- Binding.cs
- AsymmetricSignatureFormatter.cs
- SpecialNameAttribute.cs
- DynamicFilterExpression.cs
- DropShadowEffect.cs
- _NegotiateClient.cs
- SecurityBindingElementImporter.cs
- DesignerDataRelationship.cs
- GroupDescription.cs
- QilTargetType.cs
- SoapSchemaImporter.cs
- HwndAppCommandInputProvider.cs
- ArrayConverter.cs
- MenuCommand.cs
- UIElementHelper.cs
- M3DUtil.cs
- RestClientProxyHandler.cs
- RectangleGeometry.cs
- SBCSCodePageEncoding.cs
- contentDescriptor.cs
- DialogResultConverter.cs
- BlockingCollection.cs
- RuleSettingsCollection.cs
- CompilerGlobalScopeAttribute.cs
- StyleModeStack.cs
- XmlResolver.cs
- XmlWrappingReader.cs
- ComAdminInterfaces.cs
- TransactedReceiveScope.cs
- MachineKeySection.cs
- HttpDictionary.cs
- TrackingProfileCache.cs
- HttpConfigurationContext.cs
- DataTableExtensions.cs
- PlatformCulture.cs
- ToolConsole.cs
- MexServiceChannelBuilder.cs
- DataGridColumnDropSeparator.cs
- Color.cs
- Base64WriteStateInfo.cs
- SqlServer2KCompatibilityAnnotation.cs
- SelectionRange.cs
- DecoderReplacementFallback.cs
- TraceRecord.cs
- LoginCancelEventArgs.cs
- ImpersonateTokenRef.cs
- DeleteMemberBinder.cs
- DesignTimeParseData.cs
- Translator.cs
- SqlGenericUtil.cs
- DependencyObjectPropertyDescriptor.cs
- OleAutBinder.cs
- CharUnicodeInfo.cs
- ColorKeyFrameCollection.cs
- SyndicationCategory.cs
- XmlBindingWorker.cs
- PropertyDescriptor.cs
- AudioLevelUpdatedEventArgs.cs
- NumericPagerField.cs
- ZipIOLocalFileDataDescriptor.cs
- ListDictionary.cs
- MaskDescriptors.cs
- mactripleDES.cs
- XmlUrlResolver.cs
- PermissionToken.cs
- NullableIntAverageAggregationOperator.cs
- GeometryDrawing.cs
- _ContextAwareResult.cs
- ResolveDuplexCD1AsyncResult.cs
- XslCompiledTransform.cs
- EdmPropertyAttribute.cs
- SimpleApplicationHost.cs
- SystemColors.cs
- TablePattern.cs
- BindStream.cs
- MouseCaptureWithinProperty.cs
- XmlValueConverter.cs
- DesignerVerb.cs
- WindowsIdentity.cs
- Lasso.cs
- NotSupportedException.cs
- AttachmentService.cs
- CategoryAttribute.cs
- ScrollEvent.cs
- ToolStripLabel.cs
- XPathParser.cs