Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / ChildTable.cs / 5 / 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
- ApplicationSecurityManager.cs
- RevocationPoint.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ExpressionBuilder.cs
- StylusCollection.cs
- SqlCaseSimplifier.cs
- Size3DValueSerializer.cs
- ConditionCollection.cs
- ElementNotAvailableException.cs
- DropShadowEffect.cs
- VectorAnimationUsingKeyFrames.cs
- TypeValidationEventArgs.cs
- MailBnfHelper.cs
- DPCustomTypeDescriptor.cs
- SemaphoreSecurity.cs
- SafeEventHandle.cs
- ContainerActivationHelper.cs
- CheckBoxFlatAdapter.cs
- Set.cs
- PkcsMisc.cs
- CornerRadius.cs
- Simplifier.cs
- OdbcParameter.cs
- TransformPattern.cs
- Token.cs
- TriState.cs
- MimeMultiPart.cs
- _KerberosClient.cs
- InertiaRotationBehavior.cs
- ScrollChrome.cs
- SequenceQuery.cs
- ExpressionBinding.cs
- IUnknownConstantAttribute.cs
- DefaultEventAttribute.cs
- ClosableStream.cs
- XNodeNavigator.cs
- LineVisual.cs
- DataSourceCache.cs
- HasCopySemanticsAttribute.cs
- ChannelTracker.cs
- _PooledStream.cs
- Vector3D.cs
- MetafileHeaderWmf.cs
- ColorConvertedBitmapExtension.cs
- XmlSchemaSimpleTypeUnion.cs
- TimerEventSubscription.cs
- StringOutput.cs
- DataGridTextBoxColumn.cs
- CodeDomSerializerBase.cs
- DataGridCommandEventArgs.cs
- StatusBarPanel.cs
- PixelFormat.cs
- Line.cs
- Win32SafeHandles.cs
- FrameworkElement.cs
- Normalization.cs
- __FastResourceComparer.cs
- SendMailErrorEventArgs.cs
- ViewLoader.cs
- OdbcRowUpdatingEvent.cs
- DSACryptoServiceProvider.cs
- RectangleConverter.cs
- ConnectionProviderAttribute.cs
- PackageFilter.cs
- Propagator.Evaluator.cs
- RenderContext.cs
- DecimalConstantAttribute.cs
- ScrollBarAutomationPeer.cs
- ValuePattern.cs
- TextDpi.cs
- TypeHelpers.cs
- DropDownButton.cs
- ClassData.cs
- Set.cs
- Int32Converter.cs
- DataContractSerializerSection.cs
- ZoomingMessageFilter.cs
- CodeTypeMemberCollection.cs
- CursorConverter.cs
- LoginName.cs
- ParserOptions.cs
- xmlfixedPageInfo.cs
- TemplateBamlRecordReader.cs
- HtmlInputRadioButton.cs
- DashStyle.cs
- CodeIdentifiers.cs
- XmlSortKeyAccumulator.cs
- RootBrowserWindowAutomationPeer.cs
- RequestCachePolicyConverter.cs
- MatchingStyle.cs
- LoginView.cs
- MethodMessage.cs
- TraceLog.cs
- GradientStop.cs
- SortDescription.cs
- PagesChangedEventArgs.cs
- XmlSchemaDocumentation.cs
- FixedDocumentSequencePaginator.cs
- ValidationErrorCollection.cs
- MethodExpr.cs