Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / CompositeControl.cs / 2 / CompositeControl.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.ComponentModel;
using System.Security.Permissions;
///
/// Base class for composite controls -- controls that contain other controls and reuse their functionality
/// via class composition. See Chapter 12 in "Developing Microsoft ASP.NET Server Controls and Components."
/// The following classes have copied code from this class (look for "Copied from CompositeControl" comment):
/// - ChangePassword
/// - Login
/// - LoginView
/// - SiteMapPath
///
[
Designer("System.Web.UI.Design.WebControls.CompositeControlDesigner, " + AssemblyRef.SystemDesign)
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public abstract class CompositeControl : WebControl, INamingContainer, ICompositeControlDesignerAccessor {
///
/// Ensure that the child controls have been created before returning the controls collection
///
public override ControlCollection Controls {
get {
EnsureChildControls();
return base.Controls;
}
}
///
/// Perform our own databinding, then perform our child controls' databinding.
/// Does not call Base.DataBind(), since we need to call EnsureChildControls() between
/// OnDataBinding() and DataBindChildren().
///
public override void DataBind() {
OnDataBinding(EventArgs.Empty);
EnsureChildControls();
DataBindChildren();
}
protected virtual void RecreateChildControls() {
ChildControlsCreated = false;
EnsureChildControls();
}
// Needed so the CompositeControl renders correctly in the designer, even when it does not have
// an associated ControlDesigner (i.e. it is a child control of another CompositeControl).
protected internal override void Render(HtmlTextWriter writer) {
if (DesignMode) {
EnsureChildControls();
}
base.Render(writer);
}
#region ICompositeControlDesignerAccessor implementation
void ICompositeControlDesignerAccessor.RecreateChildControls() {
RecreateChildControls();
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.ComponentModel;
using System.Security.Permissions;
///
/// Base class for composite controls -- controls that contain other controls and reuse their functionality
/// via class composition. See Chapter 12 in "Developing Microsoft ASP.NET Server Controls and Components."
/// The following classes have copied code from this class (look for "Copied from CompositeControl" comment):
/// - ChangePassword
/// - Login
/// - LoginView
/// - SiteMapPath
///
[
Designer("System.Web.UI.Design.WebControls.CompositeControlDesigner, " + AssemblyRef.SystemDesign)
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public abstract class CompositeControl : WebControl, INamingContainer, ICompositeControlDesignerAccessor {
///
/// Ensure that the child controls have been created before returning the controls collection
///
public override ControlCollection Controls {
get {
EnsureChildControls();
return base.Controls;
}
}
///
/// Perform our own databinding, then perform our child controls' databinding.
/// Does not call Base.DataBind(), since we need to call EnsureChildControls() between
/// OnDataBinding() and DataBindChildren().
///
public override void DataBind() {
OnDataBinding(EventArgs.Empty);
EnsureChildControls();
DataBindChildren();
}
protected virtual void RecreateChildControls() {
ChildControlsCreated = false;
EnsureChildControls();
}
// Needed so the CompositeControl renders correctly in the designer, even when it does not have
// an associated ControlDesigner (i.e. it is a child control of another CompositeControl).
protected internal override void Render(HtmlTextWriter writer) {
if (DesignMode) {
EnsureChildControls();
}
base.Render(writer);
}
#region ICompositeControlDesignerAccessor implementation
void ICompositeControlDesignerAccessor.RecreateChildControls() {
RecreateChildControls();
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeSnippetExpression.cs
- DBConnection.cs
- ManipulationStartedEventArgs.cs
- PropertyValueUIItem.cs
- MetadataArtifactLoaderFile.cs
- DataControlFieldsEditor.cs
- TextProperties.cs
- SiteMapPath.cs
- SystemTcpStatistics.cs
- NoResizeHandleGlyph.cs
- GroupStyle.cs
- Avt.cs
- XmlDataSourceNodeDescriptor.cs
- CellTreeNodeVisitors.cs
- IdleTimeoutMonitor.cs
- MissingSatelliteAssemblyException.cs
- EntityDataSourceReferenceGroup.cs
- HyperLink.cs
- RightsManagementSuppressedStream.cs
- DecoderFallbackWithFailureFlag.cs
- EventLogReader.cs
- ObjectNavigationPropertyMapping.cs
- PixelFormat.cs
- ButtonField.cs
- ProviderException.cs
- PageSetupDialog.cs
- CommandHelper.cs
- VectorKeyFrameCollection.cs
- ActiveXHost.cs
- QuaternionAnimation.cs
- TableLayoutColumnStyleCollection.cs
- ResourceAssociationTypeEnd.cs
- ProofTokenCryptoHandle.cs
- InlinedAggregationOperator.cs
- DocumentPage.cs
- WebPartRestoreVerb.cs
- ViewGenResults.cs
- WindowsListViewItemCheckBox.cs
- ConfigXmlAttribute.cs
- ShapeTypeface.cs
- DataFormat.cs
- HtmlSelect.cs
- Block.cs
- DuplexChannelBinder.cs
- UpWmlPageAdapter.cs
- FormattedText.cs
- KeyConverter.cs
- X509InitiatorCertificateServiceElement.cs
- XmlLangPropertyAttribute.cs
- DNS.cs
- UserControlCodeDomTreeGenerator.cs
- DataGridViewSelectedColumnCollection.cs
- Compress.cs
- StylusDownEventArgs.cs
- ReferenceSchema.cs
- XmlAttributeOverrides.cs
- MimeMultiPart.cs
- SoapAttributeOverrides.cs
- TreeView.cs
- StoragePropertyMapping.cs
- VarRefManager.cs
- DataGridCellItemAutomationPeer.cs
- SoapObjectReader.cs
- GridItemCollection.cs
- URLAttribute.cs
- Drawing.cs
- Compiler.cs
- PageVisual.cs
- ParserContext.cs
- WebPartsPersonalization.cs
- AnnouncementInnerClient11.cs
- DataRelationPropertyDescriptor.cs
- PasswordBoxAutomationPeer.cs
- DataControlPagerLinkButton.cs
- XmlSchemaAppInfo.cs
- SymmetricAlgorithm.cs
- ControlCachePolicy.cs
- QueryInterceptorAttribute.cs
- UrlAuthorizationModule.cs
- DateTimeOffsetAdapter.cs
- ClientScriptItemCollection.cs
- printdlgexmarshaler.cs
- VarRemapper.cs
- EtwTrace.cs
- NumericPagerField.cs
- isolationinterop.cs
- HtmlInputReset.cs
- ImageSource.cs
- DurableOperationContext.cs
- UnknownBitmapEncoder.cs
- Expressions.cs
- Mouse.cs
- SystemIcons.cs
- IsolatedStorageFilePermission.cs
- Metafile.cs
- MediaEntryAttribute.cs
- NavigationCommands.cs
- AsymmetricAlgorithm.cs
- ProfileInfo.cs
- WindowPattern.cs