Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / WebControls / Content.cs / 1 / Content.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.Util;
// ContentBuilder is a builder for content control but acts like a template builder.
// Designertime it will create the as a control, but a template
// builder at runtime. ContentBuilder only works if the parent builder is a
// MasterPageBuilder, otherwise this builder is simply ignored.
internal class ContentBuilderInternal: TemplateBuilder {
private const string _contentPlaceHolderIDPropName = "ContentPlaceHolderID";
private string _contentPlaceHolder;
private string _contentPlaceHolderFilter;
///
///
public override Type BindingContainerType {
get {
return typeof(Control);
}
}
internal string ContentPlaceHolderFilter {
get {
return _contentPlaceHolderFilter;
}
}
internal string ContentPlaceHolder {
get {
return _contentPlaceHolder;
}
}
// To return the content control for designtime support
public override object BuildObject() {
if (InDesigner)
return BuildObjectInternal();
return base.BuildObject();
}
public override void InstantiateIn(Control container) {
base.InstantiateIn(container);
// Set all the children's TemplateControl properties to the owning page,
// to prevent them from incorrectly resolving to the Master page (VSWhidbey 602525)
HttpContext context = HttpContext.Current;
if (context != null) {
TemplateControl templateControl = context.TemplateControl;
if (templateControl != null && templateControl.NoCompile) {
foreach (Control child in container.Controls) {
child.TemplateControl = templateControl;
}
}
}
}
public override void Init(TemplateParser parser, ControlBuilder parentBuilder,
Type type, string tagName, string ID, IDictionary attribs) {
ParsedAttributeCollection parsedAttributes = ConvertDictionaryToParsedAttributeCollection(attribs);
foreach (FilteredAttributeDictionary filteredAttributes in parsedAttributes.GetFilteredAttributeDictionaries()) {
string filter = filteredAttributes.Filter;
foreach (DictionaryEntry entry in filteredAttributes) {
if (StringUtil.EqualsIgnoreCase((string)entry.Key, _contentPlaceHolderIDPropName)) {
if (_contentPlaceHolder != null) {
throw new HttpException(SR.GetString(SR.Content_only_one_contentPlaceHolderID_allowed));
}
string key = entry.Key.ToString();
_contentPlaceHolder = entry.Value.ToString();
_contentPlaceHolderFilter = filter;
}
}
}
if (!parser.FInDesigner) {
if (_contentPlaceHolder == null)
throw new HttpException(SR.GetString(SR.Control_Missing_Attribute, _contentPlaceHolderIDPropName, type.Name));
attribs.Clear();
}
base.Init(parser, parentBuilder, type, tagName, ID, attribs);
}
internal override void SetParentBuilder(ControlBuilder parentBuilder) {
if (!InDesigner && !(parentBuilder is FileLevelPageControlBuilder)) {
throw new HttpException(SR.GetString(SR.Content_allowed_in_top_level_only));
}
base.SetParentBuilder(parentBuilder);
}
}
// Factory used to efficiently create builder instances
internal class ContentBuilderInternalFactory: IWebObjectFactory {
object IWebObjectFactory.CreateInstance() {
return new ContentBuilderInternal();
}
}
/* This control represents the ITemplate property on the content page that will be applied
to the MasterPage template property. The ContentPlaceHolderID is never assigned at runtime. */
[
ControlBuilderAttribute(typeof(ContentBuilderInternal)),
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Designer("System.Web.UI.Design.WebControls.ContentDesigner, " + AssemblyRef.SystemDesign)]
[ToolboxItem(false)]
public class Content : Control, INonBindingContainer {
private string _contentPlaceHolderID;
[
DefaultValue(""),
IDReferenceProperty(typeof(ContentPlaceHolder)),
Themeable(false),
WebCategory("Behavior"),
WebSysDescription(SR.Content_ContentPlaceHolderID),
]
public string ContentPlaceHolderID {
get {
if (_contentPlaceHolderID == null) {
return String.Empty;
}
return _contentPlaceHolderID;
}
set {
if (!DesignMode)
throw new NotSupportedException(SR.GetString(SR.Property_Set_Not_Supported, "ContentPlaceHolderID", this.GetType().ToString()));
_contentPlaceHolderID = value;
}
}
#region hide these events in the designer since they will not be invoked.
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler DataBinding {
add {
base.DataBinding += value;
}
remove {
base.DataBinding -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Disposed {
add {
base.Disposed += value;
}
remove {
base.Disposed -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Init {
add {
base.Init += value;
}
remove {
base.Init -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Load {
add {
base.Load += value;
}
remove {
base.Load -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler PreRender {
add {
base.PreRender += value;
}
remove {
base.PreRender -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Unload {
add {
base.Unload += value;
}
remove {
base.Unload -= value;
}
}
#endregion
}
}
// 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.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.Util;
// ContentBuilder is a builder for content control but acts like a template builder.
// Designertime it will create the as a control, but a template
// builder at runtime. ContentBuilder only works if the parent builder is a
// MasterPageBuilder, otherwise this builder is simply ignored.
internal class ContentBuilderInternal: TemplateBuilder {
private const string _contentPlaceHolderIDPropName = "ContentPlaceHolderID";
private string _contentPlaceHolder;
private string _contentPlaceHolderFilter;
///
///
public override Type BindingContainerType {
get {
return typeof(Control);
}
}
internal string ContentPlaceHolderFilter {
get {
return _contentPlaceHolderFilter;
}
}
internal string ContentPlaceHolder {
get {
return _contentPlaceHolder;
}
}
// To return the content control for designtime support
public override object BuildObject() {
if (InDesigner)
return BuildObjectInternal();
return base.BuildObject();
}
public override void InstantiateIn(Control container) {
base.InstantiateIn(container);
// Set all the children's TemplateControl properties to the owning page,
// to prevent them from incorrectly resolving to the Master page (VSWhidbey 602525)
HttpContext context = HttpContext.Current;
if (context != null) {
TemplateControl templateControl = context.TemplateControl;
if (templateControl != null && templateControl.NoCompile) {
foreach (Control child in container.Controls) {
child.TemplateControl = templateControl;
}
}
}
}
public override void Init(TemplateParser parser, ControlBuilder parentBuilder,
Type type, string tagName, string ID, IDictionary attribs) {
ParsedAttributeCollection parsedAttributes = ConvertDictionaryToParsedAttributeCollection(attribs);
foreach (FilteredAttributeDictionary filteredAttributes in parsedAttributes.GetFilteredAttributeDictionaries()) {
string filter = filteredAttributes.Filter;
foreach (DictionaryEntry entry in filteredAttributes) {
if (StringUtil.EqualsIgnoreCase((string)entry.Key, _contentPlaceHolderIDPropName)) {
if (_contentPlaceHolder != null) {
throw new HttpException(SR.GetString(SR.Content_only_one_contentPlaceHolderID_allowed));
}
string key = entry.Key.ToString();
_contentPlaceHolder = entry.Value.ToString();
_contentPlaceHolderFilter = filter;
}
}
}
if (!parser.FInDesigner) {
if (_contentPlaceHolder == null)
throw new HttpException(SR.GetString(SR.Control_Missing_Attribute, _contentPlaceHolderIDPropName, type.Name));
attribs.Clear();
}
base.Init(parser, parentBuilder, type, tagName, ID, attribs);
}
internal override void SetParentBuilder(ControlBuilder parentBuilder) {
if (!InDesigner && !(parentBuilder is FileLevelPageControlBuilder)) {
throw new HttpException(SR.GetString(SR.Content_allowed_in_top_level_only));
}
base.SetParentBuilder(parentBuilder);
}
}
// Factory used to efficiently create builder instances
internal class ContentBuilderInternalFactory: IWebObjectFactory {
object IWebObjectFactory.CreateInstance() {
return new ContentBuilderInternal();
}
}
/* This control represents the ITemplate property on the content page that will be applied
to the MasterPage template property. The ContentPlaceHolderID is never assigned at runtime. */
[
ControlBuilderAttribute(typeof(ContentBuilderInternal)),
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Designer("System.Web.UI.Design.WebControls.ContentDesigner, " + AssemblyRef.SystemDesign)]
[ToolboxItem(false)]
public class Content : Control, INonBindingContainer {
private string _contentPlaceHolderID;
[
DefaultValue(""),
IDReferenceProperty(typeof(ContentPlaceHolder)),
Themeable(false),
WebCategory("Behavior"),
WebSysDescription(SR.Content_ContentPlaceHolderID),
]
public string ContentPlaceHolderID {
get {
if (_contentPlaceHolderID == null) {
return String.Empty;
}
return _contentPlaceHolderID;
}
set {
if (!DesignMode)
throw new NotSupportedException(SR.GetString(SR.Property_Set_Not_Supported, "ContentPlaceHolderID", this.GetType().ToString()));
_contentPlaceHolderID = value;
}
}
#region hide these events in the designer since they will not be invoked.
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler DataBinding {
add {
base.DataBinding += value;
}
remove {
base.DataBinding -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Disposed {
add {
base.Disposed += value;
}
remove {
base.Disposed -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Init {
add {
base.Init += value;
}
remove {
base.Init -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Load {
add {
base.Load += value;
}
remove {
base.Load -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler PreRender {
add {
base.PreRender += value;
}
remove {
base.PreRender -= value;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public new event EventHandler Unload {
add {
base.Unload += value;
}
remove {
base.Unload -= value;
}
}
#endregion
}
}
// 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
- MapPathBasedVirtualPathProvider.cs
- SignatureHelper.cs
- OptimalTextSource.cs
- HierarchicalDataBoundControlAdapter.cs
- DbConnectionPoolGroupProviderInfo.cs
- RowToParametersTransformer.cs
- ExpressionBuilderCollection.cs
- HttpListenerPrefixCollection.cs
- DataSourceXmlTextReader.cs
- Random.cs
- EffectiveValueEntry.cs
- ApplyTemplatesAction.cs
- TextServicesDisplayAttributePropertyRanges.cs
- TableDesigner.cs
- DiscreteKeyFrames.cs
- ItemCollection.cs
- CalloutQueueItem.cs
- CommunicationObject.cs
- DateTimeSerializationSection.cs
- IPEndPoint.cs
- BindingList.cs
- PseudoWebRequest.cs
- MonthCalendar.cs
- CapabilitiesUse.cs
- _CommandStream.cs
- BypassElement.cs
- DocumentPage.cs
- CodeTypeConstructor.cs
- ColorBuilder.cs
- MetafileHeader.cs
- DbParameterCollection.cs
- AdPostCacheSubstitution.cs
- SplineKeyFrames.cs
- ParallelTimeline.cs
- DataList.cs
- KerberosSecurityTokenParameters.cs
- SkewTransform.cs
- ApplicationId.cs
- Brushes.cs
- ToolStripPanel.cs
- Win32SafeHandles.cs
- InvokePattern.cs
- SoapExtensionImporter.cs
- Package.cs
- DetailsView.cs
- Enum.cs
- X509ClientCertificateCredentialsElement.cs
- DateTimeConstantAttribute.cs
- BindingOperations.cs
- FormViewModeEventArgs.cs
- PreviewPrintController.cs
- InheritanceContextChangedEventManager.cs
- PieceNameHelper.cs
- BitmapCodecInfo.cs
- TargetParameterCountException.cs
- XmlSerializerNamespaces.cs
- SmiTypedGetterSetter.cs
- NonClientArea.cs
- PanelStyle.cs
- ContentFilePart.cs
- CorrelationManager.cs
- ListenerElementsCollection.cs
- UserMapPath.cs
- ZipPackage.cs
- SHA384Cng.cs
- RuleInfoComparer.cs
- RegexCompilationInfo.cs
- LogSwitch.cs
- FrameAutomationPeer.cs
- GiveFeedbackEventArgs.cs
- DataGridViewToolTip.cs
- CaseExpr.cs
- XmlSchemaAnyAttribute.cs
- X509IssuerSerialKeyIdentifierClause.cs
- Parsers.cs
- CommonObjectSecurity.cs
- EventRouteFactory.cs
- PointCollection.cs
- DelegatingTypeDescriptionProvider.cs
- XMLSchema.cs
- CreateRefExpr.cs
- InboundActivityHelper.cs
- KeyValueSerializer.cs
- RequestCacheEntry.cs
- QuaternionRotation3D.cs
- ObfuscateAssemblyAttribute.cs
- StyleSelector.cs
- DataConnectionHelper.cs
- Logging.cs
- Matrix.cs
- ColorConverter.cs
- XmlSchemaGroupRef.cs
- pingexception.cs
- SafeCertificateStore.cs
- SplineKeyFrames.cs
- XmlSchemaObjectTable.cs
- SafeRegistryHandle.cs
- XPathNavigatorKeyComparer.cs
- ProfilePropertyMetadata.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs