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
- MouseActionConverter.cs
- NamedPipeAppDomainProtocolHandler.cs
- TextEndOfLine.cs
- PersonalizablePropertyEntry.cs
- RegexTree.cs
- XmlToDatasetMap.cs
- ListViewInsertedEventArgs.cs
- File.cs
- CFStream.cs
- HtmlUtf8RawTextWriter.cs
- AlphabeticalEnumConverter.cs
- DynamicValueConverter.cs
- UniqueConstraint.cs
- _SafeNetHandles.cs
- ClipboardProcessor.cs
- XPathDocument.cs
- RemotingClientProxy.cs
- LinqDataView.cs
- SmtpDigestAuthenticationModule.cs
- PointIndependentAnimationStorage.cs
- NavigationProgressEventArgs.cs
- Imaging.cs
- BitmapEffectInput.cs
- FixedDSBuilder.cs
- LoadItemsEventArgs.cs
- RuntimeConfigLKG.cs
- Rules.cs
- NetDataContractSerializer.cs
- MouseButton.cs
- MatrixTransform.cs
- SmiEventSink_DeferedProcessing.cs
- ReadOnlyObservableCollection.cs
- OutputScopeManager.cs
- FontStretchConverter.cs
- LineGeometry.cs
- ExecutedRoutedEventArgs.cs
- NativeMethodsOther.cs
- BCryptNative.cs
- EventKeyword.cs
- NativeWrapper.cs
- CultureSpecificStringDictionary.cs
- SoundPlayer.cs
- SmiGettersStream.cs
- TypeConvertions.cs
- Pair.cs
- WarningException.cs
- Int16Storage.cs
- LightweightCodeGenerator.cs
- Multiply.cs
- NetworkInformationException.cs
- Viewport3DVisual.cs
- ExecutionEngineException.cs
- PartialCachingAttribute.cs
- DragEvent.cs
- FixedPageStructure.cs
- SessionStateUtil.cs
- ImageFormat.cs
- TransformerInfoCollection.cs
- RTTypeWrapper.cs
- Relationship.cs
- ComponentDispatcher.cs
- DataServiceQueryProvider.cs
- LogEntryHeaderSerializer.cs
- WebPartPersonalization.cs
- ApplicationTrust.cs
- XPathQilFactory.cs
- HttpApplication.cs
- DmlSqlGenerator.cs
- QilGeneratorEnv.cs
- TextComposition.cs
- TreeViewEvent.cs
- StatusBarDrawItemEvent.cs
- ItemCheckEvent.cs
- FormatVersion.cs
- ResourceType.cs
- XmlEntity.cs
- WebResourceUtil.cs
- BinaryObjectReader.cs
- HotSpotCollection.cs
- Resources.Designer.cs
- ListBoxItemWrapperAutomationPeer.cs
- IndexedEnumerable.cs
- ComUdtElementCollection.cs
- ToolBarButtonDesigner.cs
- TitleStyle.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- NullRuntimeConfig.cs
- ColumnProvider.cs
- XmlSchemaComplexType.cs
- DrawingGroupDrawingContext.cs
- ListChunk.cs
- ExcCanonicalXml.cs
- Exceptions.cs
- LineInfo.cs
- HttpHandlersSection.cs
- WindowsProgressbar.cs
- Byte.cs
- Wrapper.cs
- DataContractSerializerElement.cs
- CommonGetThemePartSize.cs