Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 2 / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LogEntry.cs
- CloseSequenceResponse.cs
- VersionUtil.cs
- NeutralResourcesLanguageAttribute.cs
- Roles.cs
- GroupDescription.cs
- PriorityBindingExpression.cs
- LambdaCompiler.Statements.cs
- TypeNameConverter.cs
- MessageSecurityOverTcp.cs
- Style.cs
- XmlBinaryReader.cs
- ComPersistableTypeElement.cs
- DataGridViewColumnCollection.cs
- PersonalizablePropertyEntry.cs
- ListBoxItemWrapperAutomationPeer.cs
- StaticFileHandler.cs
- TransformerTypeCollection.cs
- webproxy.cs
- PointAnimationUsingKeyFrames.cs
- Sql8ExpressionRewriter.cs
- DataGridViewDataErrorEventArgs.cs
- ControlAdapter.cs
- BamlResourceContent.cs
- ValidatorCollection.cs
- ParameterToken.cs
- XmlNamespaceMapping.cs
- TrackingParticipant.cs
- cookiecontainer.cs
- XmlHierarchyData.cs
- FaultReason.cs
- DispatchWrapper.cs
- AnnotationService.cs
- EventSourceCreationData.cs
- SqlBooleanizer.cs
- DataSpaceManager.cs
- DefaultValueAttribute.cs
- DragDropManager.cs
- ColumnCollection.cs
- HttpCachePolicy.cs
- ColorConvertedBitmap.cs
- NameSpaceEvent.cs
- ExceptionValidationRule.cs
- XPathChildIterator.cs
- _AutoWebProxyScriptHelper.cs
- SingleAnimationUsingKeyFrames.cs
- ProxyWebPartConnectionCollection.cs
- GlyphTypeface.cs
- BitHelper.cs
- CodeSnippetStatement.cs
- ErrorRuntimeConfig.cs
- StringWriter.cs
- FormViewPageEventArgs.cs
- WsdlInspector.cs
- UserValidatedEventArgs.cs
- XmlNodeReader.cs
- HttpModuleActionCollection.cs
- XPathDescendantIterator.cs
- InvalidFilterCriteriaException.cs
- Assembly.cs
- ConnectionManagementElementCollection.cs
- QilReplaceVisitor.cs
- ColumnHeaderConverter.cs
- DesignerContextDescriptor.cs
- XmlJsonWriter.cs
- TextRange.cs
- SafeMemoryMappedViewHandle.cs
- webproxy.cs
- PerspectiveCamera.cs
- FixedSchema.cs
- GridViewActionList.cs
- HttpContext.cs
- XmlUtf8RawTextWriter.cs
- _ProxyRegBlob.cs
- Debugger.cs
- CommandManager.cs
- SerializationInfo.cs
- RawStylusInputCustomDataList.cs
- CustomLineCap.cs
- CompositeFontInfo.cs
- PreviousTrackingServiceAttribute.cs
- StrongNameKeyPair.cs
- ManagementPath.cs
- ScriptManagerProxy.cs
- MimeTypePropertyAttribute.cs
- EdmFunctions.cs
- XmlILConstructAnalyzer.cs
- ProofTokenCryptoHandle.cs
- ConfigXmlReader.cs
- ResourceDescriptionAttribute.cs
- AxImporter.cs
- Environment.cs
- BaseCodeDomTreeGenerator.cs
- HttpConfigurationSystem.cs
- SplitterPanel.cs
- SplineKeyFrames.cs
- VBCodeProvider.cs
- PropertyChangedEventArgs.cs
- NodeFunctions.cs
- WebZone.cs