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
- PhoneCallDesigner.cs
- ParameterCollectionEditor.cs
- SemanticAnalyzer.cs
- HostedNamedPipeTransportManager.cs
- Cursors.cs
- FilteredDataSetHelper.cs
- CodeCastExpression.cs
- StubHelpers.cs
- OdbcConnectionString.cs
- FrameSecurityDescriptor.cs
- XmlNavigatorFilter.cs
- DelegateOutArgument.cs
- CancelEventArgs.cs
- DomNameTable.cs
- StyleCollection.cs
- XmlUrlResolver.cs
- AnimationClock.cs
- ReadOnlyDataSource.cs
- DependencyObject.cs
- LogEntryHeaderDeserializer.cs
- SchemaAttDef.cs
- ChannelServices.cs
- ScriptRegistrationManager.cs
- Collection.cs
- DbConnectionStringCommon.cs
- LinqDataSourceValidationException.cs
- ActivationWorker.cs
- DiscoveryClientElement.cs
- ExpressionUtilities.cs
- ListBoxAutomationPeer.cs
- VisualSerializer.cs
- UrlRoutingModule.cs
- ManifestResourceInfo.cs
- ClassHandlersStore.cs
- TreeView.cs
- ProcessStartInfo.cs
- DataGridComboBoxColumn.cs
- XmlNodeReader.cs
- CompilationUtil.cs
- SchemaImporter.cs
- ConfigXmlAttribute.cs
- UserPersonalizationStateInfo.cs
- Grid.cs
- KeyValuePairs.cs
- PropertyManager.cs
- WSUtilitySpecificationVersion.cs
- CrossSiteScriptingValidation.cs
- followingquery.cs
- ToolStripDropDownItem.cs
- DummyDataSource.cs
- LogWriteRestartAreaState.cs
- httpstaticobjectscollection.cs
- ColorKeyFrameCollection.cs
- StateInitializationDesigner.cs
- XsltOutput.cs
- TemplatePropertyEntry.cs
- QueryPageSettingsEventArgs.cs
- SchemaMapping.cs
- recordstate.cs
- UInt64.cs
- SqlDependencyListener.cs
- ContextMenu.cs
- InstanceKeyView.cs
- SqlNodeTypeOperators.cs
- CompilerGeneratedAttribute.cs
- ProfileGroupSettingsCollection.cs
- AppDomainFactory.cs
- ApplicationActivator.cs
- FormViewDeleteEventArgs.cs
- BulletedListEventArgs.cs
- FlagsAttribute.cs
- ResourcesChangeInfo.cs
- JoinSymbol.cs
- IdentityNotMappedException.cs
- VersionValidator.cs
- xsdvalidator.cs
- WaveHeader.cs
- SqlPersonalizationProvider.cs
- ConstraintManager.cs
- BamlRecords.cs
- RoleBoolean.cs
- WebPartEditorOkVerb.cs
- SqlDataSourceEnumerator.cs
- OracleColumn.cs
- CaseExpr.cs
- DefaultValueConverter.cs
- TypedReference.cs
- ApplicationManager.cs
- DelayedRegex.cs
- AssemblyCollection.cs
- CharacterShapingProperties.cs
- DataServiceBehavior.cs
- EntityContainerEmitter.cs
- RadioButtonStandardAdapter.cs
- DataTable.cs
- ExtensionSurface.cs
- SessionPageStatePersister.cs
- WindowsRichEditRange.cs
- TreeNodeBindingCollection.cs
- HostingPreferredMapPath.cs