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
- WorkflowTransactionService.cs
- EventLogStatus.cs
- VectorConverter.cs
- BaseParser.cs
- TimeSpanMinutesConverter.cs
- KeyValueInternalCollection.cs
- ModelItemExtensions.cs
- WrapPanel.cs
- DateTimeParse.cs
- LocalValueEnumerator.cs
- StreamInfo.cs
- MasterPageParser.cs
- ScrollBar.cs
- RichTextBox.cs
- AttributeUsageAttribute.cs
- ObjectContext.cs
- LazyTextWriterCreator.cs
- SchemaAttDef.cs
- TextTreeTextNode.cs
- BoundPropertyEntry.cs
- HtmlElementEventArgs.cs
- ArraySubsetEnumerator.cs
- PackageRelationship.cs
- ToolStripSeparatorRenderEventArgs.cs
- HttpProcessUtility.cs
- DocumentReference.cs
- WindowsComboBox.cs
- StaticFileHandler.cs
- ToolStripManager.cs
- ISFClipboardData.cs
- GlobalProxySelection.cs
- SchemaObjectWriter.cs
- GlobalizationAssembly.cs
- HttpListenerRequest.cs
- UIPropertyMetadata.cs
- DataGridViewColumnEventArgs.cs
- DbResourceAllocator.cs
- OdbcInfoMessageEvent.cs
- SHA1CryptoServiceProvider.cs
- ThreadInterruptedException.cs
- WindowsFormsLinkLabel.cs
- CodeIterationStatement.cs
- StringUtil.cs
- SemanticResultValue.cs
- DataGridCaption.cs
- MenuItemStyle.cs
- BaseTemplateBuildProvider.cs
- OutputBuffer.cs
- CheckPair.cs
- SignatureGenerator.cs
- ProfilePropertySettingsCollection.cs
- IntegerValidatorAttribute.cs
- EnvironmentPermission.cs
- ProfileGroupSettingsCollection.cs
- MetaModel.cs
- QueryResult.cs
- RowSpanVector.cs
- Rules.cs
- SqlServer2KCompatibilityCheck.cs
- Switch.cs
- ConstructorExpr.cs
- DateTimePickerDesigner.cs
- MimeParameters.cs
- SuppressMergeCheckAttribute.cs
- Comparer.cs
- RowSpanVector.cs
- DefaultHttpHandler.cs
- MeasureItemEvent.cs
- RelationshipFixer.cs
- _ConnectOverlappedAsyncResult.cs
- odbcmetadatacollectionnames.cs
- ApplicationFileCodeDomTreeGenerator.cs
- WebExceptionStatus.cs
- WebPageTraceListener.cs
- QilName.cs
- TextPointerBase.cs
- RecordBuilder.cs
- OdbcConnectionOpen.cs
- InfoCardMetadataExchangeClient.cs
- SqlRecordBuffer.cs
- Header.cs
- Stroke2.cs
- StyleSheetRefUrlEditor.cs
- StyleXamlParser.cs
- SystemInfo.cs
- ProcessRequestArgs.cs
- HighContrastHelper.cs
- SqlDeflator.cs
- StandardOleMarshalObject.cs
- KeyProperty.cs
- BinaryEditor.cs
- ColorTransform.cs
- FunctionQuery.cs
- FormDesigner.cs
- XmlSchemaInferenceException.cs
- NegotiateStream.cs
- DoubleLink.cs
- CodeAttributeDeclaration.cs
- ZoneIdentityPermission.cs
- XamlDebuggerXmlReader.cs