Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / ScriptControl.cs / 1305376 / 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.Web; using System.Web.Resources; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Util; 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.Web; using System.Web.Resources; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Util; 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
- WizardStepBase.cs
- TransformDescriptor.cs
- SqlDataSource.cs
- AutoResetEvent.cs
- XmlToDatasetMap.cs
- CodeDefaultValueExpression.cs
- SmtpSection.cs
- WsdlInspector.cs
- CompModSwitches.cs
- UInt64.cs
- ClientBuildManagerCallback.cs
- SplitterCancelEvent.cs
- SkinIDTypeConverter.cs
- XamlInt32CollectionSerializer.cs
- ClientTargetCollection.cs
- Executor.cs
- MemberInfoSerializationHolder.cs
- PropertyGridCommands.cs
- ListSourceHelper.cs
- QuaternionIndependentAnimationStorage.cs
- UntypedNullExpression.cs
- GenerateScriptTypeAttribute.cs
- DataGridViewRowPostPaintEventArgs.cs
- Stack.cs
- XmlStreamStore.cs
- List.cs
- HwndSourceParameters.cs
- Privilege.cs
- PointCollection.cs
- ToolStripDropTargetManager.cs
- CommonObjectSecurity.cs
- StaticExtensionConverter.cs
- RegisteredDisposeScript.cs
- FixedPageStructure.cs
- EntityDataSourceSelectingEventArgs.cs
- TextRunCache.cs
- HtmlLiteralTextAdapter.cs
- ResourceWriter.cs
- GradientBrush.cs
- FileSecurity.cs
- TransformedBitmap.cs
- HtmlDocument.cs
- CounterSample.cs
- TypefaceMap.cs
- PropagatorResult.cs
- SocketElement.cs
- CharacterString.cs
- TabControl.cs
- ObjectQueryExecutionPlan.cs
- EntityDataSourceValidationException.cs
- UpdatePanelControlTrigger.cs
- DataObjectAttribute.cs
- SqlProviderServices.cs
- AutomationFocusChangedEventArgs.cs
- CurrentTimeZone.cs
- PlatformNotSupportedException.cs
- SemaphoreSecurity.cs
- WorkflowMessageEventHandler.cs
- MetadataProperty.cs
- DataObjectMethodAttribute.cs
- UIElement3D.cs
- MdiWindowListStrip.cs
- BypassElementCollection.cs
- FormViewCommandEventArgs.cs
- ListViewGroup.cs
- ErrorProvider.cs
- Int16Converter.cs
- SqlClientWrapperSmiStreamChars.cs
- TableItemStyle.cs
- ToolStripDropDownItemDesigner.cs
- _ShellExpression.cs
- SimpleBitVector32.cs
- SpellerError.cs
- CellTreeNode.cs
- CacheMemory.cs
- ColorContext.cs
- DbMetaDataColumnNames.cs
- dataprotectionpermission.cs
- PeerNearMe.cs
- DataViewListener.cs
- Confirm.cs
- SQlBooleanStorage.cs
- WindowsButton.cs
- ImageSourceValueSerializer.cs
- ExpandCollapsePattern.cs
- Array.cs
- LogLogRecordEnumerator.cs
- COM2IProvidePropertyBuilderHandler.cs
- HttpCapabilitiesSectionHandler.cs
- SiteMapNodeCollection.cs
- ConditionalAttribute.cs
- TypeDependencyAttribute.cs
- SourceFileBuildProvider.cs
- TraceListeners.cs
- InitializationEventAttribute.cs
- MethodToken.cs
- DefaultValidator.cs
- XmlDownloadManager.cs
- SecurityKeyType.cs
- ApplicationContext.cs