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
- BooleanSwitch.cs
- Drawing.cs
- NetworkAddressChange.cs
- ContainerUIElement3D.cs
- ScriptingScriptResourceHandlerSection.cs
- FloaterBaseParaClient.cs
- propertytag.cs
- ApplicationSecurityInfo.cs
- InvokeHandlers.cs
- AssociationSetMetadata.cs
- AddInSegmentDirectoryNotFoundException.cs
- Bits.cs
- DtrList.cs
- CompositeFontInfo.cs
- NonDualMessageSecurityOverHttp.cs
- InfoCardAsymmetricCrypto.cs
- DetailsViewRowCollection.cs
- SplineKeyFrames.cs
- CheckBox.cs
- ToolStripProgressBar.cs
- NameObjectCollectionBase.cs
- XmlMembersMapping.cs
- indexingfiltermarshaler.cs
- InputDevice.cs
- FlowDocumentView.cs
- SkinBuilder.cs
- GZipDecoder.cs
- RadioButtonStandardAdapter.cs
- _SecureChannel.cs
- ObjectKeyFrameCollection.cs
- CallbackValidator.cs
- ActivationServices.cs
- TableFieldsEditor.cs
- UiaCoreApi.cs
- TrackingConditionCollection.cs
- AppDomainProtocolHandler.cs
- TypeHelpers.cs
- WorkflowInstanceProvider.cs
- LocatorGroup.cs
- HtmlMeta.cs
- SafeArrayTypeMismatchException.cs
- DocumentPageHost.cs
- PenLineJoinValidation.cs
- DisplayMemberTemplateSelector.cs
- SqlDeflator.cs
- Subtract.cs
- XmlComment.cs
- ByteRangeDownloader.cs
- Geometry3D.cs
- ScriptBehaviorDescriptor.cs
- VectorCollectionValueSerializer.cs
- SoapMessage.cs
- CookieParameter.cs
- FixedTextContainer.cs
- PolyBezierSegment.cs
- CachedFontFace.cs
- DeploymentSection.cs
- DateTimeConverter2.cs
- BindToObject.cs
- SchemaMerger.cs
- DirectoryObjectSecurity.cs
- TableChangeProcessor.cs
- DataObjectMethodAttribute.cs
- CharacterHit.cs
- CreateUserErrorEventArgs.cs
- ImportContext.cs
- BoundColumn.cs
- FontCacheUtil.cs
- _AcceptOverlappedAsyncResult.cs
- BamlCollectionHolder.cs
- Setter.cs
- CanonicalXml.cs
- ContextBase.cs
- FieldAccessException.cs
- XmlReaderDelegator.cs
- EventWaitHandle.cs
- AssertUtility.cs
- Rss20ItemFormatter.cs
- SingleTagSectionHandler.cs
- CalendarDay.cs
- StrongNameSignatureInformation.cs
- TraceContext.cs
- DoubleLink.cs
- Cursor.cs
- SecurityPolicySection.cs
- CompiledAction.cs
- ProgressiveCrcCalculatingStream.cs
- ContainerParagraph.cs
- DataGridViewTopRowAccessibleObject.cs
- ComponentResourceManager.cs
- ComUdtElementCollection.cs
- CustomErrorCollection.cs
- CngUIPolicy.cs
- ContainerActivationHelper.cs
- TreeNodeCollection.cs
- ToolStripStatusLabel.cs
- Tracking.cs
- StylusDevice.cs
- PositiveTimeSpanValidatorAttribute.cs
- EncryptedType.cs