Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / ScriptManagerProxy.cs / 1 / ScriptManagerProxy.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Drawing.Design;
using System.Globalization;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.Resources;
using System.Web.Util;
[
AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal),
DefaultProperty("Scripts"),
Designer("System.Web.UI.Design.ScriptManagerProxyDesigner, " + AssemblyRef.SystemWebExtensionsDesign),
NonVisualControl(),
ParseChildren(true),
PersistChildren(false),
ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.ScriptManagerProxy.bmp"),
]
public class ScriptManagerProxy : Control, IControl {
private IScriptManagerInternal _scriptManager;
private ScriptReferenceCollection _scripts;
private ServiceReferenceCollection _services;
private ProfileServiceManager _profileServiceManager;
private AuthenticationServiceManager _authenticationServiceManager;
private RoleServiceManager _roleServiceManager;
public ScriptManagerProxy() {
}
internal ScriptManagerProxy(IScriptManagerInternal scriptManager) {
_scriptManager = scriptManager;
}
[
ResourceDescription("ScriptManager_AuthenticationService"),
Category("Behavior"),
DefaultValue(null),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
PersistenceMode(PersistenceMode.InnerProperty),
MergableProperty(false),
]
public AuthenticationServiceManager AuthenticationService {
get {
if(_authenticationServiceManager == null) {
_authenticationServiceManager = new AuthenticationServiceManager();
}
return _authenticationServiceManager;
}
}
internal bool HasProfileServiceManager {
get {
return this._profileServiceManager != null;
}
}
internal bool HasAuthenticationServiceManager {
get {
return this._authenticationServiceManager != null;
}
}
internal bool HasRoleServiceManager {
get {
return this._roleServiceManager != null;
}
}
[
ResourceDescription("ScriptManager_ProfileService"),
Category("Behavior"),
DefaultValue(null),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
PersistenceMode(PersistenceMode.InnerProperty),
MergableProperty(false),
]
public ProfileServiceManager ProfileService {
get {
if(_profileServiceManager == null) {
_profileServiceManager = new ProfileServiceManager();
}
return _profileServiceManager;
}
}
[
ResourceDescription("ScriptManager_RoleService"),
Category("Behavior"),
DefaultValue(null),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
PersistenceMode(PersistenceMode.InnerProperty),
MergableProperty(false),
]
public RoleServiceManager RoleService {
get {
if(_roleServiceManager == null) {
_roleServiceManager = new RoleServiceManager();
}
return _roleServiceManager;
}
}
private IScriptManagerInternal ScriptManager {
get {
if (_scriptManager == null) {
Page page = Page;
if (page == null) {
throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull);
}
_scriptManager = UI.ScriptManager.GetCurrent(Page);
if (_scriptManager == null) {
throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.Common_ScriptManagerRequired, ID));
}
}
return _scriptManager;
}
}
[
ResourceDescription("ScriptManager_Scripts"),
Category("Behavior"),
DefaultValue(null),
Editor("System.Web.UI.Design.CollectionEditorBase, " +
AssemblyRef.SystemWebExtensionsDesign, typeof(UITypeEditor)),
PersistenceMode(PersistenceMode.InnerProperty),
MergableProperty(false),
]
public ScriptReferenceCollection Scripts {
get {
if (_scripts == null) {
_scripts = new ScriptReferenceCollection();
}
return _scripts;
}
}
[
ResourceDescription("ScriptManager_Services"),
Category("Behavior"),
DefaultValue(null),
Editor("System.Web.UI.Design.CollectionEditorBase, " +
AssemblyRef.SystemWebExtensionsDesign, typeof(UITypeEditor)),
PersistenceMode(PersistenceMode.InnerProperty),
MergableProperty(false),
]
public ServiceReferenceCollection Services {
get {
if (_services == null) {
_services = new ServiceReferenceCollection();
}
return _services;
}
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
EditorBrowsable(EditorBrowsableState.Never)
]
public override bool Visible {
get {
return base.Visible;
}
set {
throw new NotImplementedException();
}
}
internal void CollectScripts(List scripts) {
// PERF: Use field directly to avoid creating List if not already created
if (_scripts != null) {
foreach (ScriptReference scriptReference in _scripts) {
scriptReference.ClientUrlResolver = this;
scriptReference.ContainingControl = this;
scriptReference.IsStaticReference = true;
scripts.Add(scriptReference);
}
}
}
[SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")]
protected internal override void OnInit(EventArgs e) {
base.OnInit(e);
if (!DesignMode) {
ScriptManager.RegisterProxy(this);
}
}
internal void RegisterServices(ScriptManager scriptManager) {
// PERF: Use field directly to avoid creating List if not already created
if (_services != null) {
foreach (ServiceReference serviceReference in _services) {
serviceReference.Register(this, Context, scriptManager, scriptManager.IsDebuggingEnabled);
}
}
}
#region IControl Members
IHttpContext IControl.Context {
get {
return new HttpContextWrapper(Context);
}
}
bool IControl.DesignMode {
get {
return DesignMode;
}
}
#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
- TagPrefixInfo.cs
- TextServicesDisplayAttribute.cs
- PerfCounters.cs
- PolyLineSegmentFigureLogic.cs
- EntityDesignerBuildProvider.cs
- NumberFormatInfo.cs
- TdsRecordBufferSetter.cs
- FontNameEditor.cs
- XmlQueryType.cs
- KeyedCollection.cs
- KeyBinding.cs
- ColumnTypeConverter.cs
- OdbcEnvironmentHandle.cs
- RemotingConfigParser.cs
- CachedFontFamily.cs
- _Events.cs
- CodeCompiler.cs
- ImportContext.cs
- XmlRootAttribute.cs
- EventTrigger.cs
- Transform.cs
- ViewCellSlot.cs
- SizeConverter.cs
- Size.cs
- TraceData.cs
- ControlPropertyNameConverter.cs
- HostingEnvironment.cs
- DataGridViewRowPostPaintEventArgs.cs
- DataAdapter.cs
- NullNotAllowedCollection.cs
- MetabaseSettings.cs
- WebServiceHandler.cs
- SystemIPGlobalProperties.cs
- MenuItemStyleCollection.cs
- GradientStop.cs
- WsatServiceCertificate.cs
- SQLBinaryStorage.cs
- CalendarSelectionChangedEventArgs.cs
- DataError.cs
- CrossSiteScriptingValidation.cs
- DataGridViewLinkColumn.cs
- FastEncoderWindow.cs
- Lasso.cs
- UnitySerializationHolder.cs
- AttachedPropertyMethodSelector.cs
- DesignerActionItem.cs
- EventData.cs
- WebPartTransformerAttribute.cs
- EdmComplexPropertyAttribute.cs
- Tokenizer.cs
- ComponentEditorPage.cs
- PermissionSetEnumerator.cs
- ColumnBinding.cs
- StylusShape.cs
- GridSplitterAutomationPeer.cs
- DesignerForm.cs
- SecurityTokenInclusionMode.cs
- NavigationPropertyEmitter.cs
- SiteMap.cs
- Constraint.cs
- ZipPackage.cs
- PenThread.cs
- MatrixUtil.cs
- OptimizerPatterns.cs
- Floater.cs
- WorkflowWebService.cs
- BamlMapTable.cs
- ProfileParameter.cs
- TypeNameHelper.cs
- Camera.cs
- DirectionalLight.cs
- SpinWait.cs
- ConcatQueryOperator.cs
- SerializationStore.cs
- ProvideValueServiceProvider.cs
- SynchronizationLockException.cs
- CompositeFontFamily.cs
- AssemblyBuilder.cs
- ICollection.cs
- CodeExporter.cs
- DiscardableAttribute.cs
- SecureEnvironment.cs
- TextElementAutomationPeer.cs
- MarginCollapsingState.cs
- DecoderNLS.cs
- AppSettingsExpressionBuilder.cs
- ResourcesGenerator.cs
- Privilege.cs
- UriTemplateDispatchFormatter.cs
- TransformCollection.cs
- AddressHeaderCollectionElement.cs
- SessionEndedEventArgs.cs
- JumpPath.cs
- EdmComplexPropertyAttribute.cs
- StatusBarPanelClickEvent.cs
- SecurityUtils.cs
- SessionEndedEventArgs.cs
- XmlEncoding.cs
- ColumnHeaderConverter.cs
- Light.cs