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(Listscripts) { // 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
- Pen.cs
- DoubleLinkListEnumerator.cs
- MatrixAnimationUsingPath.cs
- HexParser.cs
- DataGridViewCellEventArgs.cs
- StorageBasedPackageProperties.cs
- UdpUtility.cs
- listitem.cs
- GeometryCollection.cs
- SecurityException.cs
- UIElementIsland.cs
- TablePattern.cs
- BitmapData.cs
- EpmCustomContentDeSerializer.cs
- SqlGatherProducedAliases.cs
- FixedDocument.cs
- WpfMemberInvoker.cs
- ButtonFlatAdapter.cs
- QilDataSource.cs
- DataMemberFieldConverter.cs
- PropertyIDSet.cs
- SoapMessage.cs
- StylusPlugInCollection.cs
- FixedPageStructure.cs
- ServiceMoniker.cs
- SafeLocalMemHandle.cs
- PropertyDescriptorGridEntry.cs
- HttpProcessUtility.cs
- DataServiceClientException.cs
- Compilation.cs
- RelatedCurrencyManager.cs
- ItemChangedEventArgs.cs
- BitmapMetadata.cs
- ChameleonKey.cs
- ShapeTypeface.cs
- DynamicILGenerator.cs
- ProxySimple.cs
- NullableDecimalSumAggregationOperator.cs
- DataMember.cs
- QueryOutputWriter.cs
- BindingManagerDataErrorEventArgs.cs
- FileLoadException.cs
- CorrelationQueryBehavior.cs
- FixedFlowMap.cs
- SystemPens.cs
- UnsafeNativeMethods.cs
- StaticExtension.cs
- AssemblyHash.cs
- WindowsEditBox.cs
- ZipFileInfo.cs
- CriticalHandle.cs
- DetectEofStream.cs
- Win32Exception.cs
- DeferredBinaryDeserializerExtension.cs
- ThumbAutomationPeer.cs
- BinaryMethodMessage.cs
- SoapFault.cs
- ObjectAnimationBase.cs
- DataGridColumnReorderingEventArgs.cs
- BoundsDrawingContextWalker.cs
- RepeaterItem.cs
- COSERVERINFO.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- MenuItemBindingCollection.cs
- initElementDictionary.cs
- SystemColorTracker.cs
- RequiredFieldValidator.cs
- RegistryKey.cs
- InsufficientMemoryException.cs
- ExceptionUtil.cs
- CssTextWriter.cs
- RegexCaptureCollection.cs
- NegotiateStream.cs
- PinnedBufferMemoryStream.cs
- BaseParser.cs
- DispatcherObject.cs
- SortExpressionBuilder.cs
- XmlSerializationReader.cs
- COM2ICategorizePropertiesHandler.cs
- WindowsEditBoxRange.cs
- IUnknownConstantAttribute.cs
- ReadOnlyDataSourceView.cs
- DbParameterHelper.cs
- IgnoreSection.cs
- DiscoveryCallbackBehavior.cs
- X509Chain.cs
- InternalSafeNativeMethods.cs
- PathBox.cs
- PrinterSettings.cs
- HtmlPhoneCallAdapter.cs
- xml.cs
- SctClaimDictionary.cs
- SqlErrorCollection.cs
- SqlServer2KCompatibilityAnnotation.cs
- XmlUtil.cs
- EpmTargetPathSegment.cs
- WpfWebRequestHelper.cs
- EnumerationRangeValidationUtil.cs
- ThicknessConverter.cs
- ButtonStandardAdapter.cs