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
- LayoutUtils.cs
- Activity.cs
- TextClipboardData.cs
- XmlILTrace.cs
- AsnEncodedData.cs
- CodeNamespaceCollection.cs
- VerificationException.cs
- ObjectAnimationUsingKeyFrames.cs
- LinkedList.cs
- GridViewSortEventArgs.cs
- DirectoryGroupQuery.cs
- ProxyWebPartManager.cs
- UdpDiscoveryEndpointProvider.cs
- HelpProvider.cs
- ServiceModelPerformanceCounters.cs
- SweepDirectionValidation.cs
- FacetEnabledSchemaElement.cs
- Directory.cs
- FixedSOMTableRow.cs
- HierarchicalDataSourceConverter.cs
- DataSet.cs
- TableParaClient.cs
- SmtpAuthenticationManager.cs
- SqlRowUpdatingEvent.cs
- ProvidersHelper.cs
- ContainerAction.cs
- GeneralTransformCollection.cs
- Debug.cs
- ComplexType.cs
- ISFTagAndGuidCache.cs
- TextSchema.cs
- MemberHolder.cs
- IconBitmapDecoder.cs
- TrustManagerMoreInformation.cs
- Container.cs
- ExtensionQuery.cs
- SettingsAttributeDictionary.cs
- FrameworkRichTextComposition.cs
- AsymmetricAlgorithm.cs
- Tokenizer.cs
- FixedPageProcessor.cs
- NameNode.cs
- ScriptingJsonSerializationSection.cs
- HostedHttpContext.cs
- TextModifier.cs
- DesignerActionUIStateChangeEventArgs.cs
- ConfigurationCollectionAttribute.cs
- UnicastIPAddressInformationCollection.cs
- SystemFonts.cs
- SessionStateItemCollection.cs
- WebPartEditorApplyVerb.cs
- MaskedTextProvider.cs
- HierarchicalDataBoundControlAdapter.cs
- SQLInt64.cs
- _CookieModule.cs
- TargetInvocationException.cs
- CommandPlan.cs
- EdmRelationshipRoleAttribute.cs
- Column.cs
- SparseMemoryStream.cs
- X509SubjectKeyIdentifierClause.cs
- NavigationHelper.cs
- Point4D.cs
- ConnectorDragDropGlyph.cs
- SignedPkcs7.cs
- ListItemsPage.cs
- JsonWriter.cs
- SqlUserDefinedAggregateAttribute.cs
- ClipboardProcessor.cs
- ServiceDiscoveryElement.cs
- BaseComponentEditor.cs
- _ShellExpression.cs
- BitmapVisualManager.cs
- BamlLocalizableResourceKey.cs
- prompt.cs
- BasePattern.cs
- MachineSettingsSection.cs
- FixedPageAutomationPeer.cs
- NameSpaceEvent.cs
- DynamicAttribute.cs
- HttpCookie.cs
- StyleSelector.cs
- IndicFontClient.cs
- ListItemConverter.cs
- Cursors.cs
- SHA256.cs
- FixedStringLookup.cs
- ConfigurationManagerInternal.cs
- ClientScriptManagerWrapper.cs
- DataGridColumnHeadersPresenter.cs
- BoundsDrawingContextWalker.cs
- OutOfProcStateClientManager.cs
- RecognizedWordUnit.cs
- UriTemplateClientFormatter.cs
- InputProcessorProfiles.cs
- FixedTextBuilder.cs
- TraceUtility.cs
- TreePrinter.cs
- GeneralTransform3DTo2DTo3D.cs
- GroupBox.cs