Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XpsResourcePolicy.cs
- SqlComparer.cs
- ServiceModelActivationSectionGroup.cs
- InputLanguageEventArgs.cs
- HMACRIPEMD160.cs
- ToolBarButtonClickEvent.cs
- CryptoSession.cs
- RichTextBox.cs
- EventDrivenDesigner.cs
- CodeTypeParameterCollection.cs
- HtmlInputRadioButton.cs
- FrameDimension.cs
- UnconditionalPolicy.cs
- altserialization.cs
- BindingListCollectionView.cs
- ClientProxyGenerator.cs
- XPathDocumentNavigator.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- Pointer.cs
- GeneralTransform.cs
- TraceSection.cs
- NameValueFileSectionHandler.cs
- ContentControl.cs
- ValueExpressions.cs
- Point.cs
- ExpressionHelper.cs
- Inflater.cs
- httpapplicationstate.cs
- EventSetter.cs
- TypeConverter.cs
- HtmlFormWrapper.cs
- ControlEvent.cs
- SocketPermission.cs
- NetworkInformationException.cs
- ScriptManagerProxy.cs
- PermissionSetTriple.cs
- TextCompositionManager.cs
- SendActivityValidator.cs
- RealizationDrawingContextWalker.cs
- Label.cs
- RegistryKey.cs
- FloaterParaClient.cs
- MenuItem.cs
- NumberFormatter.cs
- ApplicationInfo.cs
- SiblingIterators.cs
- BoundField.cs
- HttpResponseHeader.cs
- ComponentDispatcherThread.cs
- WindowsStreamSecurityUpgradeProvider.cs
- RuleSettingsCollection.cs
- UnmanagedBitmapWrapper.cs
- TreeWalker.cs
- DBCSCodePageEncoding.cs
- DeflateStream.cs
- CodeSnippetStatement.cs
- DataGridAddNewRow.cs
- XPathEmptyIterator.cs
- DataKeyCollection.cs
- StaticTextPointer.cs
- RpcAsyncResult.cs
- WindowsListBox.cs
- QueryResponse.cs
- LayoutUtils.cs
- MemberInitExpression.cs
- PasswordPropertyTextAttribute.cs
- ExpressionVisitorHelpers.cs
- TextElement.cs
- RuleSetCollection.cs
- ObjectDataSourceChooseTypePanel.cs
- StrokeNodeData.cs
- Helpers.cs
- LineVisual.cs
- SoapAttributeOverrides.cs
- ServerIdentity.cs
- PersonalizationAdministration.cs
- TrackingMemoryStream.cs
- ParameterBuilder.cs
- CoTaskMemSafeHandle.cs
- StickyNoteContentControl.cs
- MLangCodePageEncoding.cs
- ProviderCommandInfoUtils.cs
- TextSelectionHighlightLayer.cs
- BitmapVisualManager.cs
- CompareValidator.cs
- _ListenerResponseStream.cs
- SafeNativeMethodsCLR.cs
- Codec.cs
- ZipIOFileItemStream.cs
- CryptographicAttribute.cs
- Oid.cs
- ModelItemCollection.cs
- AppLevelCompilationSectionCache.cs
- SmtpNtlmAuthenticationModule.cs
- ApplicationInfo.cs
- IgnorePropertiesAttribute.cs
- ObjectQueryProvider.cs
- JournalNavigationScope.cs
- DataGridViewRowCollection.cs
- LoadWorkflowByKeyAsyncResult.cs