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
- DbFunctionCommandTree.cs
- XmlNotation.cs
- DelegatedStream.cs
- PeerUnsafeNativeCryptMethods.cs
- SoapCommonClasses.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- RealProxy.cs
- CancelEventArgs.cs
- MessageLogTraceRecord.cs
- Rule.cs
- FormatterConverter.cs
- FilteredAttributeCollection.cs
- ActivityBindForm.Designer.cs
- ExtensionSimplifierMarkupObject.cs
- RightsManagementEncryptionTransform.cs
- HtmlTableRow.cs
- XmlNamespaceDeclarationsAttribute.cs
- CompilerGeneratedAttribute.cs
- XmlConverter.cs
- TextRange.cs
- HtmlForm.cs
- MaskedTextProvider.cs
- DLinqTableProvider.cs
- LogicalExpr.cs
- XLinq.cs
- XmlnsCache.cs
- ProfileInfo.cs
- ConnectionPoint.cs
- StringReader.cs
- DictionaryCustomTypeDescriptor.cs
- TrustManagerMoreInformation.cs
- Image.cs
- PointAnimationBase.cs
- Compensate.cs
- DesignTimeTemplateParser.cs
- Crc32Helper.cs
- Cell.cs
- StrongName.cs
- DataGridItemEventArgs.cs
- Span.cs
- Attributes.cs
- ToolZone.cs
- ListBindableAttribute.cs
- UInt16Converter.cs
- DesignerForm.cs
- Guid.cs
- MexHttpBindingCollectionElement.cs
- ClientTargetCollection.cs
- ArgIterator.cs
- HostedImpersonationContext.cs
- _FixedSizeReader.cs
- MembershipUser.cs
- ArglessEventHandlerProxy.cs
- Dump.cs
- ProxyWebPartConnectionCollection.cs
- XamlReaderConstants.cs
- ClosableStream.cs
- CalculatedColumn.cs
- ExpressionWriter.cs
- CustomBindingCollectionElement.cs
- InternalEnumValidator.cs
- WsdlInspector.cs
- ListViewPagedDataSource.cs
- ThrowHelper.cs
- LeftCellWrapper.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- DummyDataSource.cs
- Misc.cs
- TransformedBitmap.cs
- EventSinkActivity.cs
- AnnotationService.cs
- XsltConvert.cs
- HttpDigestClientCredential.cs
- ChangeNode.cs
- FileDataSourceCache.cs
- ValidationError.cs
- OletxResourceManager.cs
- Overlapped.cs
- RepeaterCommandEventArgs.cs
- SqlGatherProducedAliases.cs
- HitTestFilterBehavior.cs
- InstanceNormalEvent.cs
- XmlElementCollection.cs
- GridViewUpdateEventArgs.cs
- XsdBuilder.cs
- PackagingUtilities.cs
- XamlPoint3DCollectionSerializer.cs
- MatrixValueSerializer.cs
- DetailsViewUpdatedEventArgs.cs
- CodeVariableDeclarationStatement.cs
- Random.cs
- AlternateViewCollection.cs
- EmissiveMaterial.cs
- GridEntryCollection.cs
- _emptywebproxy.cs
- UnsafeNativeMethods.cs
- IsolatedStorageSecurityState.cs
- CodeExpressionCollection.cs
- SHA256Managed.cs
- LocationSectionRecord.cs