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
- GridViewCellAutomationPeer.cs
- DocumentXmlWriter.cs
- ResourcesBuildProvider.cs
- CodeTypeParameterCollection.cs
- WebCategoryAttribute.cs
- ExpressionTextBoxAutomationPeer.cs
- HtmlControl.cs
- ShaderEffect.cs
- SmtpFailedRecipientException.cs
- wpf-etw.cs
- DataSourceUtil.cs
- TemplatedAdorner.cs
- MemberDomainMap.cs
- StylusButtonEventArgs.cs
- categoryentry.cs
- AncestorChangedEventArgs.cs
- NavigatingCancelEventArgs.cs
- StringCollectionMarkupSerializer.cs
- HandledMouseEvent.cs
- RuntimeWrappedException.cs
- DatagridviewDisplayedBandsData.cs
- InkCanvasSelectionAdorner.cs
- BinaryEditor.cs
- TableSectionStyle.cs
- Unit.cs
- HttpHandlerActionCollection.cs
- GridSplitter.cs
- ArcSegment.cs
- Int64AnimationUsingKeyFrames.cs
- RawUIStateInputReport.cs
- PeerNameRecord.cs
- Hash.cs
- StringPropertyBuilder.cs
- RenderOptions.cs
- LoadGrammarCompletedEventArgs.cs
- CompositeCollection.cs
- FileClassifier.cs
- SqlProfileProvider.cs
- FontSizeConverter.cs
- GZipDecoder.cs
- BooleanProjectedSlot.cs
- TypeSource.cs
- ContentType.cs
- EntitySetDataBindingList.cs
- ExtensibleClassFactory.cs
- DriveNotFoundException.cs
- FixedSOMTableRow.cs
- Codec.cs
- FileAccessException.cs
- Socket.cs
- WebServiceResponse.cs
- Rect3D.cs
- NamespaceDecl.cs
- ScrollItemProviderWrapper.cs
- DataGridState.cs
- ItemType.cs
- RawStylusInputReport.cs
- IsolatedStoragePermission.cs
- ReverseInheritProperty.cs
- DiagnosticsConfigurationHandler.cs
- StoryFragments.cs
- ObjectStateFormatter.cs
- WebPartEditorApplyVerb.cs
- AttributeQuery.cs
- EventDescriptor.cs
- versioninfo.cs
- Options.cs
- SelectionEditingBehavior.cs
- NamedPermissionSet.cs
- DocumentsTrace.cs
- ToolStripSettings.cs
- EncoderExceptionFallback.cs
- CallbackException.cs
- Config.cs
- ParallelDesigner.xaml.cs
- QilList.cs
- TemplatePagerField.cs
- Matrix.cs
- MdImport.cs
- bidPrivateBase.cs
- SessionIDManager.cs
- ItemList.cs
- KeyGestureValueSerializer.cs
- ContextBase.cs
- AutoCompleteStringCollection.cs
- AsymmetricSignatureDeformatter.cs
- RelationshipConverter.cs
- GridItemCollection.cs
- Stackframe.cs
- InvokeMethodActivity.cs
- BooleanSwitch.cs
- CharacterShapingProperties.cs
- ArraySubsetEnumerator.cs
- GradientStop.cs
- shaperfactoryquerycacheentry.cs
- MsmqOutputSessionChannel.cs
- CallContext.cs
- IIS7UserPrincipal.cs
- ToolStripOverflowButton.cs
- OpacityConverter.cs