Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ClientSideQueueItem.cs
- TrackingRecord.cs
- CounterSampleCalculator.cs
- BinaryCommonClasses.cs
- SQLResource.cs
- WebExceptionStatus.cs
- precedingsibling.cs
- XmlResolver.cs
- GeometryModel3D.cs
- TextCollapsingProperties.cs
- DataBinding.cs
- SqlWorkflowInstanceStoreLock.cs
- DefaultAsyncDataDispatcher.cs
- Pair.cs
- TiffBitmapDecoder.cs
- FastEncoder.cs
- SafeNativeMethods.cs
- versioninfo.cs
- CodeThrowExceptionStatement.cs
- Timeline.cs
- BrowserDefinition.cs
- ToolStripMenuItemDesigner.cs
- DesignerContextDescriptor.cs
- EncoderReplacementFallback.cs
- HtmlGenericControl.cs
- HttpException.cs
- IndexerNameAttribute.cs
- TransactionManagerProxy.cs
- PreservationFileWriter.cs
- RegexCode.cs
- BitmapEffectInputData.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- DropDownHolder.cs
- CipherData.cs
- SmtpReplyReaderFactory.cs
- HuffModule.cs
- FormsAuthentication.cs
- AnnotationAdorner.cs
- MediaTimeline.cs
- InheritanceAttribute.cs
- SiteMapNode.cs
- ClientCredentialsSecurityTokenManager.cs
- CoTaskMemUnicodeSafeHandle.cs
- RenamedEventArgs.cs
- TraceUtility.cs
- BrushMappingModeValidation.cs
- UIElementHelper.cs
- LinqDataSourceEditData.cs
- SourceItem.cs
- SQLRoleProvider.cs
- TypeElement.cs
- XmlDocumentType.cs
- Int64.cs
- TextBoxAutoCompleteSourceConverter.cs
- CheckBox.cs
- ZipIOCentralDirectoryBlock.cs
- StorageMappingItemCollection.cs
- UIPropertyMetadata.cs
- MsmqProcessProtocolHandler.cs
- MultiSelector.cs
- DefaultTraceListener.cs
- PropertyCollection.cs
- DefaultObjectMappingItemCollection.cs
- PinnedBufferMemoryStream.cs
- Matrix.cs
- isolationinterop.cs
- cookiecollection.cs
- Point3DCollectionConverter.cs
- OAVariantLib.cs
- WebBrowserNavigatingEventHandler.cs
- EntityConnectionStringBuilder.cs
- TreeIterator.cs
- SessionStateContainer.cs
- CachedBitmap.cs
- DocumentPageHost.cs
- WebServiceHandler.cs
- OleDbTransaction.cs
- CodeCompiler.cs
- TextBox.cs
- CultureSpecificStringDictionary.cs
- AutoResetEvent.cs
- WinFormsSpinner.cs
- EncoderExceptionFallback.cs
- SecurityPolicyVersion.cs
- SR.cs
- WeakReferenceEnumerator.cs
- WindowsEditBox.cs
- Visual.cs
- NullableConverter.cs
- ClassImporter.cs
- WinInetCache.cs
- NameNode.cs
- DataRecordInternal.cs
- EntityParameter.cs
- RtfControlWordInfo.cs
- DbTransaction.cs
- ZoneButton.cs
- SimpleBitVector32.cs
- BooleanStorage.cs
- DataGridViewDataErrorEventArgs.cs