Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TextHidden.cs
- AxHost.cs
- ContentType.cs
- InstanceKeyCompleteException.cs
- ConnectionManagementSection.cs
- Task.cs
- HtmlTextArea.cs
- MetaChildrenColumn.cs
- DriveInfo.cs
- CloudCollection.cs
- RtType.cs
- GradientSpreadMethodValidation.cs
- TdsEnums.cs
- VisualCollection.cs
- BuilderElements.cs
- SecurityManager.cs
- AttributeEmitter.cs
- WebBrowser.cs
- AspNetCompatibilityRequirementsMode.cs
- BasicViewGenerator.cs
- EntityViewContainer.cs
- ShaderEffect.cs
- WebBrowserNavigatedEventHandler.cs
- DependencyPropertyChangedEventArgs.cs
- GiveFeedbackEvent.cs
- dtdvalidator.cs
- SqlServer2KCompatibilityCheck.cs
- XmlHelper.cs
- PartialTrustVisibleAssemblyCollection.cs
- PolyLineSegmentFigureLogic.cs
- TextRenderer.cs
- UIPermission.cs
- DependencyPropertyConverter.cs
- RNGCryptoServiceProvider.cs
- XmlElementList.cs
- TextFindEngine.cs
- SecurityPolicySection.cs
- FlowDocumentPage.cs
- BinHexDecoder.cs
- OleDbSchemaGuid.cs
- ValueHandle.cs
- ExpandSegment.cs
- ColorTransform.cs
- PasswordPropertyTextAttribute.cs
- DataBoundLiteralControl.cs
- DependsOnAttribute.cs
- xamlnodes.cs
- DataGrid.cs
- GlyphRunDrawing.cs
- DynamicRouteExpression.cs
- RemoveFromCollection.cs
- OpenTypeLayout.cs
- LogicalExpressionTypeConverter.cs
- CollectionType.cs
- ISFClipboardData.cs
- TraceContextEventArgs.cs
- RepeaterItem.cs
- Encoder.cs
- XmlElementAttribute.cs
- XamlSerializerUtil.cs
- WindowsSolidBrush.cs
- NativeRightsManagementAPIsStructures.cs
- SimplePropertyEntry.cs
- Win32SafeHandles.cs
- UnicastIPAddressInformationCollection.cs
- Pkcs9Attribute.cs
- UserNamePasswordValidator.cs
- SmtpNegotiateAuthenticationModule.cs
- TimelineGroup.cs
- HelpInfo.cs
- TextBlock.cs
- ActivityDesignerHelper.cs
- SymbolEqualComparer.cs
- TextSchema.cs
- ObjectDataSourceMethodEventArgs.cs
- DataGridViewCellMouseEventArgs.cs
- PowerStatus.cs
- WebPageTraceListener.cs
- DeflateEmulationStream.cs
- PointAnimationUsingPath.cs
- StreamingContext.cs
- ReversePositionQuery.cs
- MessageDescription.cs
- UIAgentAsyncEndRequest.cs
- IgnoreSectionHandler.cs
- WebPartTracker.cs
- NonVisualControlAttribute.cs
- BinaryWriter.cs
- BoolLiteral.cs
- ViewStateModeByIdAttribute.cs
- ImplicitInputBrush.cs
- HTMLTagNameToTypeMapper.cs
- AccessedThroughPropertyAttribute.cs
- ProxyWebPartConnectionCollection.cs
- ImageKeyConverter.cs
- MonitoringDescriptionAttribute.cs
- PagerStyle.cs
- DelayedRegex.cs
- PackageRelationshipCollection.cs
- PeerCollaborationPermission.cs