Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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. //------------------------------------------------------------------------------ //// 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
- ResourceContainer.cs
- IntegerValidator.cs
- EntityDataSourceValidationException.cs
- XmlElementList.cs
- InvalidDataException.cs
- AsyncCodeActivityContext.cs
- Serialization.cs
- BaseCollection.cs
- CodeParameterDeclarationExpression.cs
- FaultDescription.cs
- MessageBox.cs
- AsymmetricKeyExchangeDeformatter.cs
- SqlConnectionPoolGroupProviderInfo.cs
- SafeNativeMethodsCLR.cs
- OleAutBinder.cs
- ArgumentException.cs
- UpdateTracker.cs
- ReliableChannelListener.cs
- XmlStreamedByteStreamReader.cs
- KoreanCalendar.cs
- Int16AnimationBase.cs
- WpfPayload.cs
- XmlTypeAttribute.cs
- BitmapSource.cs
- XmlSchemaGroupRef.cs
- XhtmlBasicPageAdapter.cs
- FixUpCollection.cs
- AsyncResult.cs
- Operator.cs
- CollectionBase.cs
- CodeTypeParameter.cs
- MdbDataFileEditor.cs
- BrushValueSerializer.cs
- BamlRecordReader.cs
- XmlLinkedNode.cs
- xmlsaver.cs
- CommandPlan.cs
- HttpProfileBase.cs
- XPathExpr.cs
- ComponentDispatcherThread.cs
- DirectoryInfo.cs
- figurelengthconverter.cs
- RuntimeConfigurationRecord.cs
- TextUtf8RawTextWriter.cs
- ContentTextAutomationPeer.cs
- RawAppCommandInputReport.cs
- AppSettingsExpressionBuilder.cs
- OpenTypeLayoutCache.cs
- EntityDataSourceWrapperCollection.cs
- KnownTypesHelper.cs
- ValueOfAction.cs
- PerformanceCounterManager.cs
- ProviderCollection.cs
- ToolStripRenderer.cs
- InternalConfigEventArgs.cs
- StateValidator.cs
- Soap.cs
- CodeIdentifiers.cs
- WebPartHelpVerb.cs
- LayeredChannelFactory.cs
- cryptoapiTransform.cs
- ScrollBarRenderer.cs
- ResourceContainer.cs
- SqlTypeSystemProvider.cs
- SerializationStore.cs
- DesignerSerializerAttribute.cs
- DataServiceRequestArgs.cs
- Util.cs
- WinInet.cs
- RegistrationServices.cs
- DBSqlParserColumn.cs
- StringAttributeCollection.cs
- SessionState.cs
- SelectedDatesCollection.cs
- CodeTypeMemberCollection.cs
- _ScatterGatherBuffers.cs
- BaseContextMenu.cs
- Int16Converter.cs
- PolyBezierSegmentFigureLogic.cs
- ExpressionWriter.cs
- WsdlParser.cs
- LowerCaseStringConverter.cs
- DataTableClearEvent.cs
- SchemaNames.cs
- ContextStack.cs
- MeasureData.cs
- ProtectedConfiguration.cs
- InvokePatternIdentifiers.cs
- ConfigXmlWhitespace.cs
- GradientSpreadMethodValidation.cs
- SpecialNameAttribute.cs
- PointAnimationBase.cs
- BindableTemplateBuilder.cs
- AsyncResult.cs
- EventPropertyMap.cs
- SettingsSection.cs
- BitVector32.cs
- HtmlInputSubmit.cs
- PackWebRequest.cs
- TaskForm.cs