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
- RequiredFieldValidator.cs
- DocumentViewerBaseAutomationPeer.cs
- SrgsOneOf.cs
- SQLSingle.cs
- GB18030Encoding.cs
- WindowsGraphics2.cs
- CTreeGenerator.cs
- ContentTypeSettingClientMessageFormatter.cs
- TableRowCollection.cs
- CollectionConverter.cs
- ItemsPresenter.cs
- SmtpSection.cs
- HtmlUtf8RawTextWriter.cs
- MeasureItemEvent.cs
- DetailsViewInsertEventArgs.cs
- Win32PrintDialog.cs
- streamingZipPartStream.cs
- DefaultPropertyAttribute.cs
- TextChange.cs
- SystemColors.cs
- QuaternionRotation3D.cs
- SqlStream.cs
- ErrorTableItemStyle.cs
- WindowsUpDown.cs
- ConstrainedDataObject.cs
- _SecureChannel.cs
- DataSourceIDConverter.cs
- SubpageParagraph.cs
- HashCodeCombiner.cs
- CommandEventArgs.cs
- Binding.cs
- EdmMember.cs
- DomNameTable.cs
- BinaryConverter.cs
- TraceFilter.cs
- StatusBarPanelClickEvent.cs
- SqlDelegatedTransaction.cs
- Control.cs
- ImageMetadata.cs
- WsdlBuildProvider.cs
- DesignerAutoFormatCollection.cs
- HatchBrush.cs
- ToolStripContainer.cs
- SecurityContext.cs
- TableColumn.cs
- XmlSchemaProviderAttribute.cs
- SqlDataSourceSelectingEventArgs.cs
- MatrixAnimationBase.cs
- ConstantProjectedSlot.cs
- QilList.cs
- Resources.Designer.cs
- RightsManagementInformation.cs
- ThreadAbortException.cs
- DescendantQuery.cs
- XmlAnyAttributeAttribute.cs
- NullableBoolConverter.cs
- GridView.cs
- SecurityState.cs
- StatusBar.cs
- FileSystemEventArgs.cs
- InfoCard.cs
- FileDialogCustomPlaces.cs
- GeometryConverter.cs
- ItemCollectionEditor.cs
- PropertyGeneratedEventArgs.cs
- SqlFormatter.cs
- ClientTargetSection.cs
- FlowNode.cs
- ValidationErrorEventArgs.cs
- PackWebResponse.cs
- Single.cs
- HostedBindingBehavior.cs
- X509CertificateCollection.cs
- WebPartManager.cs
- RunWorkerCompletedEventArgs.cs
- DesignerActionList.cs
- ApplicationGesture.cs
- GridPattern.cs
- ColumnPropertiesGroup.cs
- HostedHttpRequestAsyncResult.cs
- XmlElement.cs
- Queue.cs
- PeerNameResolver.cs
- QueryBranchOp.cs
- HtmlInputPassword.cs
- BevelBitmapEffect.cs
- DataSourceXmlAttributeAttribute.cs
- DesignTableCollection.cs
- ControlDesignerState.cs
- ScrollChrome.cs
- PinnedBufferMemoryStream.cs
- CapabilitiesPattern.cs
- SafeFindHandle.cs
- ActivityPreviewDesigner.cs
- XmlAttributeAttribute.cs
- ToolStripSystemRenderer.cs
- DbConnectionClosed.cs
- X509InitiatorCertificateServiceElement.cs
- URLBuilder.cs
- TreeIterator.cs