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
- TransactionValidationBehavior.cs
- MenuItemCollection.cs
- Event.cs
- EdmConstants.cs
- TypeDescriptionProviderAttribute.cs
- DbParameterCollection.cs
- SpeechEvent.cs
- NamespaceDecl.cs
- Parsers.cs
- EntityFunctions.cs
- RadioButton.cs
- CreateRefExpr.cs
- TdsRecordBufferSetter.cs
- GridViewRow.cs
- PropertyGridEditorPart.cs
- ThreadExceptionDialog.cs
- DataServiceKeyAttribute.cs
- NamespaceDecl.cs
- EventMappingSettings.cs
- ConfigXmlSignificantWhitespace.cs
- DbDataAdapter.cs
- AccessibleObject.cs
- AlignmentYValidation.cs
- SQLDateTimeStorage.cs
- ObjectConverter.cs
- SerialPort.cs
- FunctionDescription.cs
- VerticalAlignConverter.cs
- ZoomingMessageFilter.cs
- UrlPath.cs
- PageAsyncTaskManager.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ToolStripSettings.cs
- RemoteWebConfigurationHostStream.cs
- ExportFileRequest.cs
- RuleSettingsCollection.cs
- UpdatePanelTrigger.cs
- CommentEmitter.cs
- DataGridViewCellPaintingEventArgs.cs
- SymmetricAlgorithm.cs
- TypeReference.cs
- WriteFileContext.cs
- NumericUpDownAcceleration.cs
- InheritedPropertyChangedEventArgs.cs
- Number.cs
- PolyBezierSegmentFigureLogic.cs
- DrawListViewItemEventArgs.cs
- CanonicalFontFamilyReference.cs
- SmiRecordBuffer.cs
- EventHandlerService.cs
- AVElementHelper.cs
- FrugalMap.cs
- DrawingAttributes.cs
- Propagator.cs
- JpegBitmapDecoder.cs
- StringWriter.cs
- WebSysDefaultValueAttribute.cs
- RegexGroupCollection.cs
- FocusChangedEventArgs.cs
- EntryIndex.cs
- SliderAutomationPeer.cs
- BitmapDownload.cs
- TdsRecordBufferSetter.cs
- GeneralTransform3DTo2D.cs
- RSAOAEPKeyExchangeDeformatter.cs
- WebAdminConfigurationHelper.cs
- ConfigPathUtility.cs
- CompilationSection.cs
- HttpProfileGroupBase.cs
- SetIndexBinder.cs
- SevenBitStream.cs
- InteropDesigner.xaml.cs
- DelegateSerializationHolder.cs
- DataShape.cs
- FormViewRow.cs
- versioninfo.cs
- SByte.cs
- sqlmetadatafactory.cs
- DesignOnlyAttribute.cs
- Collection.cs
- DbCommandTree.cs
- HtmlForm.cs
- FacetChecker.cs
- NullableDecimalMinMaxAggregationOperator.cs
- EventRecord.cs
- PositiveTimeSpanValidator.cs
- GenerateScriptTypeAttribute.cs
- XmlSchemaAttributeGroupRef.cs
- HtmlInputRadioButton.cs
- CharConverter.cs
- Label.cs
- SystemIPAddressInformation.cs
- TranslateTransform.cs
- EditorAttribute.cs
- SqlCharStream.cs
- MenuEventArgs.cs
- TextEditorCharacters.cs
- IIS7UserPrincipal.cs
- DrawingGroup.cs
- StreamWriter.cs