Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TransformerConfigurationWizardBase.cs
- SecurityAttributeGenerationHelper.cs
- CodeArgumentReferenceExpression.cs
- ConfigurationSectionCollection.cs
- InvalidateEvent.cs
- WebBrowserPermission.cs
- VSDExceptions.cs
- UIElementHelper.cs
- MemberRelationshipService.cs
- KnownColorTable.cs
- RenderDataDrawingContext.cs
- FixedHyperLink.cs
- DataGridViewColumnConverter.cs
- ToolboxComponentsCreatingEventArgs.cs
- SplineKeyFrames.cs
- DynamicRendererThreadManager.cs
- IntranetCredentialPolicy.cs
- MetafileHeaderWmf.cs
- FontFaceLayoutInfo.cs
- remotingproxy.cs
- IdentityReference.cs
- FlowchartDesignerCommands.cs
- FormsAuthenticationCredentials.cs
- SrgsRuleRef.cs
- GroupByExpressionRewriter.cs
- _ConnectStream.cs
- InputMethodStateChangeEventArgs.cs
- XmlLanguage.cs
- SiteMapNodeCollection.cs
- DefaultIfEmptyQueryOperator.cs
- DetailsViewDeleteEventArgs.cs
- EntityContainer.cs
- PropertyState.cs
- OdbcErrorCollection.cs
- WorkItem.cs
- CalendarAutoFormatDialog.cs
- ReturnType.cs
- ShaperBuffers.cs
- ResourceDisplayNameAttribute.cs
- SqlCharStream.cs
- PrimitiveXmlSerializers.cs
- DefaultWorkflowTransactionService.cs
- Accessible.cs
- WebEvents.cs
- DocumentViewerBase.cs
- DataServiceQueryException.cs
- FontStretchConverter.cs
- SliderAutomationPeer.cs
- Visitor.cs
- MobileControlsSection.cs
- TextControlDesigner.cs
- DataGridViewRowConverter.cs
- sqlpipe.cs
- ScriptControlManager.cs
- LinearKeyFrames.cs
- WinFormsComponentEditor.cs
- FilteredDataSetHelper.cs
- XsltQilFactory.cs
- CatalogZone.cs
- Vector3DAnimation.cs
- Calendar.cs
- ContextMenuStrip.cs
- PropertyContainer.cs
- ResourcesChangeInfo.cs
- TextView.cs
- TableLayoutPanel.cs
- BlobPersonalizationState.cs
- BuiltInExpr.cs
- DayRenderEvent.cs
- SqlProcedureAttribute.cs
- MailMessage.cs
- ApplicationManager.cs
- DataGridViewCell.cs
- Dispatcher.cs
- OracleBoolean.cs
- SqlHelper.cs
- JsonSerializer.cs
- SchemaImporter.cs
- DoubleSumAggregationOperator.cs
- TreeNodeStyle.cs
- MarshalByValueComponent.cs
- DataGridBoolColumn.cs
- BitmapDecoder.cs
- CodeLinePragma.cs
- MimeTextImporter.cs
- ManifestBasedResourceGroveler.cs
- StatusBar.cs
- PlatformNotSupportedException.cs
- Tracking.cs
- SrgsDocument.cs
- FlowDocumentView.cs
- TablePatternIdentifiers.cs
- SelectionItemProviderWrapper.cs
- DataGridTable.cs
- MetadataCollection.cs
- FixedNode.cs
- BasicHttpSecurityElement.cs
- ToolStripSplitStackLayout.cs
- Control.cs
- DetailsViewRowCollection.cs