Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- TableRowCollection.cs
- FontWeightConverter.cs
- FixedDSBuilder.cs
- IODescriptionAttribute.cs
- GetWinFXPath.cs
- SpecialFolderEnumConverter.cs
- PropertyGridView.cs
- BasicDesignerLoader.cs
- SystemWebSectionGroup.cs
- SamlDelegatingWriter.cs
- FunctionMappingTranslator.cs
- LayoutSettings.cs
- Transactions.cs
- DataColumnCollection.cs
- WindowsScroll.cs
- TimelineClockCollection.cs
- DeferredTextReference.cs
- SmtpCommands.cs
- SqlConnection.cs
- CompiledIdentityConstraint.cs
- DbConnectionStringBuilder.cs
- OdbcDataReader.cs
- XmlUnspecifiedAttribute.cs
- validationstate.cs
- Baml2006ReaderSettings.cs
- GeometryModel3D.cs
- TextPointer.cs
- AnnotationResource.cs
- UrlMappingsSection.cs
- TrackingStringDictionary.cs
- PlanCompiler.cs
- HttpRuntimeSection.cs
- SecurityUtils.cs
- Fonts.cs
- HtmlCalendarAdapter.cs
- DataContractSerializerOperationBehavior.cs
- MenuStrip.cs
- EventSinkHelperWriter.cs
- TimeStampChecker.cs
- ResourceProperty.cs
- MetadataSource.cs
- DecoderReplacementFallback.cs
- DynamicDocumentPaginator.cs
- HttpRequestBase.cs
- oledbmetadatacollectionnames.cs
- SqlNode.cs
- cache.cs
- BuildManagerHost.cs
- NetworkStream.cs
- DiscreteKeyFrames.cs
- ValueChangedEventManager.cs
- SecurityTokenRequirement.cs
- ListBox.cs
- _SafeNetHandles.cs
- Drawing.cs
- ScriptMethodAttribute.cs
- ValidationErrorEventArgs.cs
- FileSystemEventArgs.cs
- MultiSelector.cs
- BitmapVisualManager.cs
- PropertyDescriptorGridEntry.cs
- NamespaceList.cs
- DataException.cs
- PhonemeEventArgs.cs
- SchemaMapping.cs
- PageTheme.cs
- DecimalFormatter.cs
- ApplicationSettingsBase.cs
- SettingsProperty.cs
- DiffuseMaterial.cs
- FamilyCollection.cs
- TrackBar.cs
- MdiWindowListStrip.cs
- FlowLayout.cs
- oledbmetadatacollectionnames.cs
- PropertyDescriptors.cs
- DataGridViewCellStyle.cs
- ImageClickEventArgs.cs
- Transform3DGroup.cs
- EntityCommand.cs
- FakeModelItemImpl.cs
- _DynamicWinsockMethods.cs
- XmlUtil.cs
- MembershipAdapter.cs
- unsafenativemethodsother.cs
- DefaultAssemblyResolver.cs
- ZipIOModeEnforcingStream.cs
- PanelStyle.cs
- VirtualPath.cs
- BindingEditor.xaml.cs
- TypeTypeConverter.cs
- FrameworkTextComposition.cs
- PageAction.cs
- ListViewDeleteEventArgs.cs
- UrlParameterWriter.cs
- DataGridRowsPresenter.cs
- SQLDateTime.cs
- ConfigXmlAttribute.cs
- WindowsStatusBar.cs
- FileLevelControlBuilderAttribute.cs