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
- SerTrace.cs
- NativeMethods.cs
- NetSectionGroup.cs
- RecordsAffectedEventArgs.cs
- DbConnectionPoolIdentity.cs
- XmlIterators.cs
- TextRangeEditTables.cs
- Triplet.cs
- ZipIOExtraField.cs
- XPathDocumentNavigator.cs
- FlowLayoutPanel.cs
- CodeLinePragma.cs
- CatalogZone.cs
- objectresult_tresulttype.cs
- ConnectivityStatus.cs
- DependsOnAttribute.cs
- DefaultPerformanceCounters.cs
- ToolStripItemEventArgs.cs
- SqlDataSourceCache.cs
- SiteMapDataSource.cs
- DescendantQuery.cs
- StrongNameKeyPair.cs
- HttpVersion.cs
- Knowncolors.cs
- AssociationType.cs
- LabelAutomationPeer.cs
- TableItemPattern.cs
- SpotLight.cs
- BasicKeyConstraint.cs
- QuerySettings.cs
- BufferManager.cs
- RijndaelCryptoServiceProvider.cs
- WebZone.cs
- activationcontext.cs
- ReflectionServiceProvider.cs
- safex509handles.cs
- CultureTable.cs
- Line.cs
- ObjectStateEntryDbDataRecord.cs
- CompilationSection.cs
- InvokeGenerator.cs
- ModelTreeEnumerator.cs
- WeakEventManager.cs
- WorkflowElementDialogWindow.xaml.cs
- DateTimeUtil.cs
- Rfc2898DeriveBytes.cs
- XmlSchemaAppInfo.cs
- SafeProcessHandle.cs
- InstancePersistenceEvent.cs
- CompilerTypeWithParams.cs
- BmpBitmapDecoder.cs
- EnumType.cs
- ColorAnimation.cs
- LocationInfo.cs
- FormClosedEvent.cs
- MetadataPropertyAttribute.cs
- Vector3DValueSerializer.cs
- Scalars.cs
- SafeNativeMethodsCLR.cs
- SimpleMailWebEventProvider.cs
- OAVariantLib.cs
- ExpressionEditorAttribute.cs
- TypeLibConverter.cs
- Function.cs
- TransportContext.cs
- CheckBoxFlatAdapter.cs
- RijndaelManaged.cs
- CodePageEncoding.cs
- OdbcConnectionStringbuilder.cs
- ISAPIRuntime.cs
- ConnectionManagementElementCollection.cs
- Types.cs
- Utils.cs
- EdmComplexPropertyAttribute.cs
- PersonalizablePropertyEntry.cs
- XmlAttributeAttribute.cs
- Pen.cs
- DynamicResourceExtensionConverter.cs
- Trace.cs
- _UriSyntax.cs
- BuildProvider.cs
- XmlMemberMapping.cs
- TagMapCollection.cs
- SqlUtils.cs
- TreeNode.cs
- EmptyEnumerator.cs
- QuaternionKeyFrameCollection.cs
- GraphicsState.cs
- SQLInt16.cs
- FontStyleConverter.cs
- EntityDesignerDataSourceView.cs
- DateTimeOffset.cs
- ArgumentNullException.cs
- URLBuilder.cs
- ShadowGlyph.cs
- PanelStyle.cs
- ConvertEvent.cs
- ZipIOFileItemStream.cs
- EntityTemplateUserControl.cs
- XmlSchemaAppInfo.cs