Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- AppDomainProtocolHandler.cs
- Version.cs
- VirtualizingPanel.cs
- ItemsChangedEventArgs.cs
- RootBrowserWindowAutomationPeer.cs
- PrinterResolution.cs
- TextStore.cs
- PixelShader.cs
- ProcessInfo.cs
- AccessViolationException.cs
- EncoderParameter.cs
- OutputCacheSettings.cs
- StreamMarshaler.cs
- ExceptionValidationRule.cs
- PageSetupDialog.cs
- Style.cs
- ClonableStack.cs
- Int32CAMarshaler.cs
- UserPreferenceChangedEventArgs.cs
- XmlRootAttribute.cs
- GenericEnumerator.cs
- TimerEventSubscription.cs
- CustomAttribute.cs
- QualifiedId.cs
- SiteMapPathDesigner.cs
- LateBoundChannelParameterCollection.cs
- PeerNameRegistration.cs
- QueryStringConverter.cs
- SQLInt16.cs
- LocatorManager.cs
- UpdateCommand.cs
- OpenTypeLayoutCache.cs
- DbXmlEnabledProviderManifest.cs
- InvalidEnumArgumentException.cs
- UpDownBase.cs
- DataGridViewAccessibleObject.cs
- SignatureDescription.cs
- HtmlInputRadioButton.cs
- RecommendedAsConfigurableAttribute.cs
- EntityParameter.cs
- Button.cs
- ISAPIApplicationHost.cs
- HwndHostAutomationPeer.cs
- HostedTransportConfigurationManager.cs
- SQLDateTimeStorage.cs
- FlowDecision.cs
- MediaContext.cs
- RelationshipSet.cs
- FormatSettings.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- NodeFunctions.cs
- DataViewManagerListItemTypeDescriptor.cs
- TreeViewCancelEvent.cs
- CompModHelpers.cs
- FixedSOMTable.cs
- CqlLexerHelpers.cs
- SequentialUshortCollection.cs
- WebPartTracker.cs
- ViewSimplifier.cs
- Composition.cs
- ReadOnlyDictionary.cs
- XamlSerializationHelper.cs
- CurrentChangingEventArgs.cs
- ToolboxItemSnapLineBehavior.cs
- Bidi.cs
- _DomainName.cs
- ProcessHostFactoryHelper.cs
- ObjectStateEntryDbDataRecord.cs
- SortedList.cs
- SecurityKeyIdentifierClause.cs
- DispatcherTimer.cs
- HighlightComponent.cs
- DataPagerCommandEventArgs.cs
- XsltFunctions.cs
- ClientSettingsProvider.cs
- HwndProxyElementProvider.cs
- HtmlEmptyTagControlBuilder.cs
- ResourceDescriptionAttribute.cs
- CodeThrowExceptionStatement.cs
- RuntimeArgument.cs
- InputManager.cs
- HijriCalendar.cs
- Token.cs
- WinEventTracker.cs
- CompensatableSequenceActivity.cs
- WebSysDisplayNameAttribute.cs
- UrlPath.cs
- DataGridItem.cs
- LocatorManager.cs
- SafeSecurityHelper.cs
- SiteMapProvider.cs
- TimeoutValidationAttribute.cs
- _UncName.cs
- PathFigure.cs
- ConfigUtil.cs
- XPathException.cs
- ObjectStateEntryDbDataRecord.cs
- BaseCollection.cs
- ReflectEventDescriptor.cs
- XhtmlTextWriter.cs