Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- KeyEvent.cs
- Preprocessor.cs
- PackageRelationshipCollection.cs
- WebPartRestoreVerb.cs
- ParameterBuilder.cs
- XmlSchemaComplexContentExtension.cs
- StoreItemCollection.Loader.cs
- smtpconnection.cs
- AuthStoreRoleProvider.cs
- CleanUpVirtualizedItemEventArgs.cs
- Msec.cs
- GcHandle.cs
- WorkflowNamespace.cs
- FragmentQuery.cs
- Stack.cs
- SystemUnicastIPAddressInformation.cs
- WsdlImporterElementCollection.cs
- XmlSerializerVersionAttribute.cs
- WebPageTraceListener.cs
- PropertyManager.cs
- RenderContext.cs
- ActivationService.cs
- TextElementEditingBehaviorAttribute.cs
- WinInetCache.cs
- MemoryMappedFile.cs
- CalloutQueueItem.cs
- RecommendedAsConfigurableAttribute.cs
- BufferedStream2.cs
- AncillaryOps.cs
- LayoutTableCell.cs
- ChildDocumentBlock.cs
- TreeNodeBindingCollection.cs
- MatrixAnimationUsingPath.cs
- ArgIterator.cs
- MatrixStack.cs
- AsyncStreamReader.cs
- DataBoundControlActionList.cs
- MdImport.cs
- OracleParameterBinding.cs
- TextTreeInsertUndoUnit.cs
- ExpandCollapseProviderWrapper.cs
- EntityDataSourceDesignerHelper.cs
- ObjectItemLoadingSessionData.cs
- CachedPathData.cs
- StateWorkerRequest.cs
- HierarchicalDataSourceControl.cs
- DateTimeFormatInfo.cs
- ErrorStyle.cs
- ToolTipService.cs
- SoapElementAttribute.cs
- ListViewGroupConverter.cs
- EventSetter.cs
- FolderBrowserDialog.cs
- ComponentEditorForm.cs
- RbTree.cs
- EnumType.cs
- ExcludeFromCodeCoverageAttribute.cs
- ComponentSerializationService.cs
- InnerItemCollectionView.cs
- TextSearch.cs
- DesignTimeValidationFeature.cs
- ToolboxDataAttribute.cs
- DesignerDataTable.cs
- AssemblyBuilder.cs
- ReadOnlyDataSourceView.cs
- TextBoxRenderer.cs
- GroupItem.cs
- ScaleTransform.cs
- Table.cs
- FieldNameLookup.cs
- LayoutExceptionEventArgs.cs
- EventlogProvider.cs
- BevelBitmapEffect.cs
- TogglePatternIdentifiers.cs
- ResourcePermissionBaseEntry.cs
- List.cs
- RecognizerBase.cs
- DESCryptoServiceProvider.cs
- KeyedCollection.cs
- COAUTHIDENTITY.cs
- DrawingCollection.cs
- SequentialOutput.cs
- AbstractSvcMapFileLoader.cs
- ReadOnlyDataSource.cs
- SystemMulticastIPAddressInformation.cs
- XmlDataSourceNodeDescriptor.cs
- DataGridLinkButton.cs
- MessageDecoder.cs
- ConnectionsZoneAutoFormat.cs
- MouseButtonEventArgs.cs
- XmlDocumentFieldSchema.cs
- TemplateKeyConverter.cs
- XsdBuildProvider.cs
- Queue.cs
- WebPartEditVerb.cs
- TypeBuilder.cs
- CryptoKeySecurity.cs
- RootBrowserWindowProxy.cs
- ISAPIWorkerRequest.cs
- DataControlReferenceCollection.cs