Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 2 / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DbLambda.cs
- CaseCqlBlock.cs
- OpacityConverter.cs
- TypeElementCollection.cs
- TargetException.cs
- RowToParametersTransformer.cs
- HostProtectionPermission.cs
- RegexParser.cs
- RadioButtonBaseAdapter.cs
- MediaTimeline.cs
- SchemaObjectWriter.cs
- KeyedCollection.cs
- SqlReferenceCollection.cs
- CustomErrorCollection.cs
- UrlMappingCollection.cs
- Model3D.cs
- MessageBox.cs
- TableCellAutomationPeer.cs
- PocoEntityKeyStrategy.cs
- UnsafeNetInfoNativeMethods.cs
- XmlAttributeHolder.cs
- EntityDataSourceUtil.cs
- WorkItem.cs
- Rule.cs
- XmlEventCache.cs
- XNodeNavigator.cs
- OleDbTransaction.cs
- Utils.cs
- DataPagerFieldCommandEventArgs.cs
- InternalPermissions.cs
- DrawingState.cs
- SoapFaultCodes.cs
- OleDbStruct.cs
- OleDbDataAdapter.cs
- ToolboxComponentsCreatingEventArgs.cs
- FontStretchConverter.cs
- JpegBitmapEncoder.cs
- DataGridViewColumnDesigner.cs
- GeneralTransform3DTo2DTo3D.cs
- ConfigsHelper.cs
- SystemIcons.cs
- ExceptionCollection.cs
- ContentElementAutomationPeer.cs
- ExpressionBindings.cs
- QueueSurrogate.cs
- CompilationRelaxations.cs
- _ListenerRequestStream.cs
- MetadataWorkspace.cs
- StringConcat.cs
- ClientUtils.cs
- CounterSample.cs
- PenContext.cs
- EntitySetBase.cs
- BrushConverter.cs
- ReadOnlyCollectionBuilder.cs
- DataBindingCollection.cs
- HostUtils.cs
- LambdaCompiler.Logical.cs
- COAUTHIDENTITY.cs
- Literal.cs
- InkCanvasSelectionAdorner.cs
- MenuRenderer.cs
- securitycriticaldataformultiplegetandset.cs
- SqlDataSourceSummaryPanel.cs
- ObjectContext.cs
- SequenceRangeCollection.cs
- ZipPackagePart.cs
- XmlQueryStaticData.cs
- BamlResourceDeserializer.cs
- Clause.cs
- ObjectSet.cs
- SqlCommandBuilder.cs
- TemplateKey.cs
- Codec.cs
- MdImport.cs
- XPathParser.cs
- SecurityPolicySection.cs
- StringAnimationBase.cs
- SafeNativeMethodsMilCoreApi.cs
- ToolBarTray.cs
- StrokeFIndices.cs
- MSAAEventDispatcher.cs
- Int64Animation.cs
- WindowsComboBox.cs
- SmiTypedGetterSetter.cs
- CheckableControlBaseAdapter.cs
- BaseTemplateBuildProvider.cs
- BitmapCodecInfoInternal.cs
- RpcCryptoContext.cs
- JobInputBins.cs
- UnmanagedBitmapWrapper.cs
- counter.cs
- MDIControlStrip.cs
- UrlParameterReader.cs
- FontClient.cs
- XsltInput.cs
- DataRecordInternal.cs
- Stack.cs
- basecomparevalidator.cs
- ToolboxItemLoader.cs