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
- VisualProxy.cs
- CngKeyBlobFormat.cs
- _CookieModule.cs
- HttpCacheVary.cs
- InfoCardTrace.cs
- Mouse.cs
- JumpItem.cs
- SecurityTokenRequirement.cs
- AspNetPartialTrustHelpers.cs
- ellipse.cs
- DateRangeEvent.cs
- RecordsAffectedEventArgs.cs
- ToolStripContentPanel.cs
- IOThreadTimer.cs
- CompilationUtil.cs
- EditorPartDesigner.cs
- DynamicResourceExtension.cs
- GlyphElement.cs
- DynamicDataResources.Designer.cs
- MessageHeaderDescription.cs
- TransactedReceiveData.cs
- SerializerProvider.cs
- ConfigurationSchemaErrors.cs
- DbFunctionCommandTree.cs
- AdPostCacheSubstitution.cs
- TrackingProfileCache.cs
- UIElement3DAutomationPeer.cs
- MailDefinition.cs
- ProxyWebPartManager.cs
- Effect.cs
- ServiceProviders.cs
- StoreItemCollection.Loader.cs
- ZipFileInfo.cs
- IndexingContentUnit.cs
- ParallelDesigner.xaml.cs
- PageContentCollection.cs
- DataObjectEventArgs.cs
- BindingList.cs
- GenericWebPart.cs
- BitArray.cs
- Stopwatch.cs
- XmlTextAttribute.cs
- StrokeRenderer.cs
- HttpModuleActionCollection.cs
- MetadataArtifactLoader.cs
- HeaderedContentControl.cs
- BitmapImage.cs
- MessageContractAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- ChainedAsyncResult.cs
- ErrorStyle.cs
- CellTreeSimplifier.cs
- UnsignedPublishLicense.cs
- TranslateTransform.cs
- PropertyGridEditorPart.cs
- Tracking.cs
- WindowsRichEditRange.cs
- DiscoveryMessageSequenceCD1.cs
- MulticastIPAddressInformationCollection.cs
- ComponentRenameEvent.cs
- FormViewInsertEventArgs.cs
- HtmlTextArea.cs
- ScrollChrome.cs
- ObsoleteAttribute.cs
- ObfuscationAttribute.cs
- PrefixQName.cs
- XmlRootAttribute.cs
- TypeForwardedFromAttribute.cs
- WebColorConverter.cs
- EventLogException.cs
- WhiteSpaceTrimStringConverter.cs
- OpCodes.cs
- ExpressionEditorAttribute.cs
- AmbientLight.cs
- XmlBinaryWriter.cs
- SerializationStore.cs
- TdsParserSafeHandles.cs
- RegexRunnerFactory.cs
- MetabaseReader.cs
- AttributeData.cs
- Pens.cs
- OfTypeExpression.cs
- SimpleMailWebEventProvider.cs
- ExpressionBuilderCollection.cs
- SelectionItemPattern.cs
- SafeNativeMethodsOther.cs
- _StreamFramer.cs
- QEncodedStream.cs
- DateTimeOffsetConverter.cs
- XsltSettings.cs
- HtmlControl.cs
- EmptyEnumerator.cs
- ObjectListDataBindEventArgs.cs
- FusionWrap.cs
- ServiceMetadataBehavior.cs
- WorkflowRuntimeSection.cs
- SafeArrayTypeMismatchException.cs
- WriteLine.cs
- AbstractSvcMapFileLoader.cs
- OledbConnectionStringbuilder.cs