Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 3 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IItemProperties.cs
- CheckBoxPopupAdapter.cs
- SamlSubject.cs
- ValidationErrorCollection.cs
- DiagnosticsConfigurationHandler.cs
- ControlParameter.cs
- SerializerProvider.cs
- LogAppendAsyncResult.cs
- DbFunctionCommandTree.cs
- HandleExceptionArgs.cs
- LocalizabilityAttribute.cs
- TreeNodeClickEventArgs.cs
- TailCallAnalyzer.cs
- Int32Rect.cs
- GeneralTransform2DTo3DTo2D.cs
- EngineSiteSapi.cs
- MaskDesignerDialog.cs
- latinshape.cs
- AlgoModule.cs
- RelatedEnd.cs
- ProfileServiceManager.cs
- EmptyReadOnlyDictionaryInternal.cs
- EventBuilder.cs
- DeploymentSection.cs
- TdsParameterSetter.cs
- _HTTPDateParse.cs
- Brush.cs
- Table.cs
- documentsequencetextview.cs
- ConvertEvent.cs
- QilSortKey.cs
- GlyphingCache.cs
- ParentUndoUnit.cs
- CodeAttributeArgumentCollection.cs
- AvTraceDetails.cs
- HttpApplicationStateWrapper.cs
- Expr.cs
- InternalResources.cs
- ForceCopyBuildProvider.cs
- NativeRightsManagementAPIsStructures.cs
- MetadataResolver.cs
- ColorTransformHelper.cs
- ToolStripSettings.cs
- SafeProcessHandle.cs
- ProtocolsConfigurationEntry.cs
- LayoutTableCell.cs
- ExplicitDiscriminatorMap.cs
- Process.cs
- KeyPullup.cs
- Setter.cs
- AutomationEventArgs.cs
- OdbcErrorCollection.cs
- NamespaceCollection.cs
- DesignerResources.cs
- TypeDescriptor.cs
- Line.cs
- XamlToRtfParser.cs
- Console.cs
- SymbolEqualComparer.cs
- AddInStore.cs
- IdentitySection.cs
- TypeElement.cs
- EventTrigger.cs
- MemberNameValidator.cs
- TableRowCollection.cs
- SiteMembershipCondition.cs
- PresentationAppDomainManager.cs
- ListBox.cs
- X509CertificateStore.cs
- EntityTypeBase.cs
- TitleStyle.cs
- HierarchicalDataBoundControl.cs
- IdentityValidationException.cs
- ContainerControl.cs
- SwitchLevelAttribute.cs
- XslUrlEditor.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ObjectPersistData.cs
- WebPartVerbCollection.cs
- FilterException.cs
- New.cs
- PathFigure.cs
- MetadataArtifactLoaderResource.cs
- GridViewCancelEditEventArgs.cs
- DiagnosticTrace.cs
- TemplateComponentConnector.cs
- DocumentXmlWriter.cs
- SoapEnumAttribute.cs
- ImplicitInputBrush.cs
- CounterSample.cs
- AlgoModule.cs
- ObjectCloneHelper.cs
- AppLevelCompilationSectionCache.cs
- RoutedEvent.cs
- Ticks.cs
- SlipBehavior.cs
- MatrixAnimationBase.cs
- KeyboardEventArgs.cs
- AttributeExtensions.cs
- TextPointerBase.cs