Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / xsp / System / Web / Extensions / ui / ScriptControl.cs / 1 / ScriptControl.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Security.Permissions; using System.Web; using System.Web.Resources; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Util; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), ] public abstract class ScriptControl : WebControl, IScriptControl { private IScriptManagerInternal _scriptManager; private new IPage _page; protected ScriptControl() { } internal ScriptControl(IScriptManagerInternal scriptManager, IPage page) { _scriptManager = scriptManager; _page = page; } private IPage IPage { get { if (_page != null) { return _page; } else { Page page = Page; if (page == null) { throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull); } return new PageWrapper(page); } } } private IScriptManagerInternal ScriptManager { get { if (_scriptManager == null) { Page page = Page; if (page == null) { throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull); } _scriptManager = System.Web.UI.ScriptManager.GetCurrent(page); if (_scriptManager == null) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.Common_ScriptManagerRequired, ID)); } } return _scriptManager; } } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")] protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); ScriptManager.RegisterScriptControl(this); } protected internal override void Render(HtmlTextWriter writer) { base.Render(writer); // DevDiv 97460: ScriptDescriptors only render if in server form, verify to avoid silently failing. IPage.VerifyRenderingInServerForm(this); // ScriptManager cannot be found in DesignMode, so do not attempt to register scripts. if (!DesignMode) { ScriptManager.RegisterScriptDescriptors(this); } } [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Implementation will likely return a new collection, which is too slow for a property")] protected abstract IEnumerableGetScriptDescriptors(); [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Implementation will likely return a new collection, which is too slow for a property")] protected abstract IEnumerable GetScriptReferences(); #region IScriptControl Members IEnumerable IScriptControl.GetScriptDescriptors() { return GetScriptDescriptors(); } IEnumerable IScriptControl.GetScriptReferences() { return GetScriptReferences(); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Security.Permissions; using System.Web; using System.Web.Resources; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Util; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), ] public abstract class ScriptControl : WebControl, IScriptControl { private IScriptManagerInternal _scriptManager; private new IPage _page; protected ScriptControl() { } internal ScriptControl(IScriptManagerInternal scriptManager, IPage page) { _scriptManager = scriptManager; _page = page; } private IPage IPage { get { if (_page != null) { return _page; } else { Page page = Page; if (page == null) { throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull); } return new PageWrapper(page); } } } private IScriptManagerInternal ScriptManager { get { if (_scriptManager == null) { Page page = Page; if (page == null) { throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull); } _scriptManager = System.Web.UI.ScriptManager.GetCurrent(page); if (_scriptManager == null) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.Common_ScriptManagerRequired, ID)); } } return _scriptManager; } } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")] protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); ScriptManager.RegisterScriptControl(this); } protected internal override void Render(HtmlTextWriter writer) { base.Render(writer); // DevDiv 97460: ScriptDescriptors only render if in server form, verify to avoid silently failing. IPage.VerifyRenderingInServerForm(this); // ScriptManager cannot be found in DesignMode, so do not attempt to register scripts. if (!DesignMode) { ScriptManager.RegisterScriptDescriptors(this); } } [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Implementation will likely return a new collection, which is too slow for a property")] protected abstract IEnumerableGetScriptDescriptors(); [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Implementation will likely return a new collection, which is too slow for a property")] protected abstract IEnumerable GetScriptReferences(); #region IScriptControl Members IEnumerable IScriptControl.GetScriptDescriptors() { return GetScriptDescriptors(); } IEnumerable IScriptControl.GetScriptReferences() { return GetScriptReferences(); } #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
- Vector.cs
- ColumnHeaderConverter.cs
- GridItemPattern.cs
- ViewPort3D.cs
- XmlSchemaInferenceException.cs
- CompiledIdentityConstraint.cs
- NativeWindow.cs
- FrameworkTemplate.cs
- XsltSettings.cs
- DataGridSortCommandEventArgs.cs
- TraceListeners.cs
- UrlRoutingHandler.cs
- CursorInteropHelper.cs
- LambdaCompiler.Unary.cs
- HostedTransportConfigurationManager.cs
- ExpressionBuilder.cs
- DataList.cs
- ConstraintConverter.cs
- ClassDataContract.cs
- ThumbButtonInfo.cs
- CodeAttributeArgumentCollection.cs
- FilteredReadOnlyMetadataCollection.cs
- WSFederationHttpBindingElement.cs
- ComponentSerializationService.cs
- MgmtConfigurationRecord.cs
- NameSpaceExtractor.cs
- CharacterString.cs
- XmlNamedNodeMap.cs
- DesignerSerializerAttribute.cs
- NavigationProperty.cs
- XmlSerializer.cs
- ProvidePropertyAttribute.cs
- datacache.cs
- BitmapInitialize.cs
- TextBoxRenderer.cs
- HostExecutionContextManager.cs
- CachedRequestParams.cs
- WSHttpBindingCollectionElement.cs
- Parsers.cs
- RawStylusInput.cs
- XPathBuilder.cs
- TlsnegoTokenProvider.cs
- WebContext.cs
- ComponentEvent.cs
- WrappedIUnknown.cs
- Visual.cs
- SerializationAttributes.cs
- DockingAttribute.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ObjectToIdCache.cs
- DeclarativeCatalogPart.cs
- TraceHandlerErrorFormatter.cs
- WizardSideBarListControlItem.cs
- WorkflowDebuggerSteppingAttribute.cs
- DurableServiceAttribute.cs
- QueryPageSettingsEventArgs.cs
- CodeVariableReferenceExpression.cs
- XmlSerializationGeneratedCode.cs
- ColumnHeaderConverter.cs
- PopupRootAutomationPeer.cs
- Signature.cs
- PromptBuilder.cs
- GridEntryCollection.cs
- ResourcesBuildProvider.cs
- OuterGlowBitmapEffect.cs
- BasicKeyConstraint.cs
- PersonalizationState.cs
- DetailsViewUpdatedEventArgs.cs
- UnsafeNativeMethodsMilCoreApi.cs
- PackageProperties.cs
- TreeView.cs
- XmlMapping.cs
- PolyBezierSegmentFigureLogic.cs
- TypeLibConverter.cs
- HttpListenerPrefixCollection.cs
- LogRestartAreaEnumerator.cs
- ThrowHelper.cs
- IndexedString.cs
- FormsAuthenticationCredentials.cs
- Events.cs
- HighlightComponent.cs
- EventWaitHandleSecurity.cs
- HotSpot.cs
- StreamGeometryContext.cs
- Substitution.cs
- HtmlMeta.cs
- HttpCookie.cs
- Context.cs
- SimpleRecyclingCache.cs
- DoubleAnimationUsingKeyFrames.cs
- WaitHandleCannotBeOpenedException.cs
- SupportingTokenProviderSpecification.cs
- WorkflowTransactionService.cs
- DataBindingCollection.cs
- JsonWriter.cs
- DesignerAdapterUtil.cs
- DllNotFoundException.cs
- InputMethod.cs
- WebServiceReceiveDesigner.cs
- SiteMapDataSource.cs