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
- ContentType.cs
- MachineKeySection.cs
- HttpProfileGroupBase.cs
- HttpProfileBase.cs
- UshortList2.cs
- MatrixCamera.cs
- ConditionedDesigner.cs
- SpeechAudioFormatInfo.cs
- WebBrowser.cs
- XmlCharType.cs
- UnsafeNativeMethods.cs
- EditingScopeUndoUnit.cs
- RootAction.cs
- XmlSchemaProviderAttribute.cs
- EntityDataSourceQueryBuilder.cs
- RenderingEventArgs.cs
- HttpResponseHeader.cs
- DataObjectAttribute.cs
- DataSourceUtil.cs
- DataBindingCollectionEditor.cs
- CommandLineParser.cs
- Literal.cs
- FormViewCommandEventArgs.cs
- RotationValidation.cs
- MappingException.cs
- XamlSerializerUtil.cs
- _SSPIWrapper.cs
- PlainXmlSerializer.cs
- DefaultConfirmation.cs
- WindowsSpinner.cs
- GroupBox.cs
- SafeEventLogReadHandle.cs
- CqlWriter.cs
- SrgsNameValueTag.cs
- SqlBinder.cs
- ValuePatternIdentifiers.cs
- BitVec.cs
- MethodAccessException.cs
- WindowsGraphics.cs
- RecordManager.cs
- DefinitionBase.cs
- ObjectItemNoOpAssemblyLoader.cs
- TableItemPattern.cs
- XamlPoint3DCollectionSerializer.cs
- Domain.cs
- ExpandSegment.cs
- ApplicationHost.cs
- Overlapped.cs
- RawAppCommandInputReport.cs
- WmlValidationSummaryAdapter.cs
- OracleDateTime.cs
- FileDataSourceCache.cs
- ObjectDataSourceDisposingEventArgs.cs
- SecurityKeyIdentifier.cs
- DateTimeConverter2.cs
- ButtonPopupAdapter.cs
- CachedCompositeFamily.cs
- List.cs
- ClientBuildManagerCallback.cs
- RoleGroup.cs
- Label.cs
- TimeoutException.cs
- XmlDesignerDataSourceView.cs
- Profiler.cs
- ReservationNotFoundException.cs
- SurrogateSelector.cs
- RbTree.cs
- DocumentOrderComparer.cs
- TraceUtils.cs
- PointAnimationBase.cs
- DictionarySectionHandler.cs
- PathGradientBrush.cs
- MissingFieldException.cs
- LocalTransaction.cs
- HttpCookieCollection.cs
- ResolveNameEventArgs.cs
- Marshal.cs
- SqlErrorCollection.cs
- ImageListUtils.cs
- ForceCopyBuildProvider.cs
- MappingException.cs
- AutomationProperties.cs
- RegexCompiler.cs
- TextAdaptor.cs
- NativeMethods.cs
- ChildrenQuery.cs
- TypeConverter.cs
- SyndicationDeserializer.cs
- MetadataCacheItem.cs
- QueryReaderSettings.cs
- NavigationPropertyEmitter.cs
- storagemappingitemcollection.viewdictionary.cs
- FaultDescriptionCollection.cs
- Stack.cs
- HttpRequest.cs
- VisualStyleInformation.cs
- DependencyPropertyConverter.cs
- TextModifierScope.cs
- ComboBox.cs
- SQLConvert.cs