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
- FormView.cs
- SoapIgnoreAttribute.cs
- InternalConfigHost.cs
- AutomationProperty.cs
- ScrollProviderWrapper.cs
- EdmType.cs
- SpecialFolderEnumConverter.cs
- ThicknessAnimation.cs
- Exception.cs
- FontFamily.cs
- ProxyWebPart.cs
- cookiecontainer.cs
- DictionaryEntry.cs
- SymmetricAlgorithm.cs
- DataKeyPropertyAttribute.cs
- ModuleBuilderData.cs
- HtmlFormWrapper.cs
- CodeMemberField.cs
- DesignerCategoryAttribute.cs
- ListView.cs
- QuotedPrintableStream.cs
- SerializationHelper.cs
- SqlConnectionFactory.cs
- MobileUserControl.cs
- AtomicFile.cs
- EntityCommandExecutionException.cs
- XmlBindingWorker.cs
- SocketException.cs
- DataGridPreparingCellForEditEventArgs.cs
- DataFormats.cs
- DbException.cs
- SafeSecurityHandles.cs
- BitmapPalettes.cs
- StrokeSerializer.cs
- Component.cs
- InternalControlCollection.cs
- Html32TextWriter.cs
- AnimationTimeline.cs
- TraceSection.cs
- WebEventTraceProvider.cs
- SqlClientPermission.cs
- PropVariant.cs
- PipeStream.cs
- DPAPIProtectedConfigurationProvider.cs
- SchemaConstraints.cs
- WebPartVerbCollection.cs
- Decimal.cs
- MetaModel.cs
- CapabilitiesSection.cs
- PolyQuadraticBezierSegment.cs
- KeyTime.cs
- ContentWrapperAttribute.cs
- MetaData.cs
- SecurityResources.cs
- ArrangedElementCollection.cs
- Instrumentation.cs
- Ref.cs
- Inflater.cs
- CookielessHelper.cs
- SecUtil.cs
- NetMsmqSecurityMode.cs
- KeyValuePairs.cs
- ProfileBuildProvider.cs
- OdbcRowUpdatingEvent.cs
- StringBlob.cs
- ButtonFlatAdapter.cs
- SystemIcmpV6Statistics.cs
- TextEditorDragDrop.cs
- EraserBehavior.cs
- filewebrequest.cs
- CorruptingExceptionCommon.cs
- Lasso.cs
- HMACSHA384.cs
- VerticalAlignConverter.cs
- FamilyMap.cs
- SchemaInfo.cs
- SqlCacheDependencySection.cs
- EnumType.cs
- TerminateSequenceResponse.cs
- DataPagerField.cs
- X509Utils.cs
- WebSysDescriptionAttribute.cs
- AssertFilter.cs
- NamedElement.cs
- LinkButton.cs
- SortKey.cs
- wmiprovider.cs
- SqlMethodAttribute.cs
- TextTreeInsertElementUndoUnit.cs
- DateTimeOffsetStorage.cs
- SignatureDescription.cs
- ValidationErrorCollection.cs
- MessageContractExporter.cs
- ISAPIApplicationHost.cs
- XmlUtf8RawTextWriter.cs
- SqlCommandBuilder.cs
- SingleQueryOperator.cs
- XpsDigitalSignature.cs
- OperationParameterInfoCollection.cs
- IriParsingElement.cs