Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / 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 IEnumerable GetScriptDescriptors();
[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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PageCache.cs
- ColumnMapTranslator.cs
- IDQuery.cs
- OAVariantLib.cs
- RepeaterItemEventArgs.cs
- NullableBoolConverter.cs
- ClientProtocol.cs
- WindowsSolidBrush.cs
- ListItemConverter.cs
- MailDefinition.cs
- VisualBasicDesignerHelper.cs
- ProcessMonitor.cs
- HierarchicalDataBoundControlAdapter.cs
- HttpCacheVaryByContentEncodings.cs
- ValueSerializerAttribute.cs
- ProgressBar.cs
- CodeTypeReferenceSerializer.cs
- SerializationSectionGroup.cs
- SettingsPropertyNotFoundException.cs
- LiteralLink.cs
- DataRow.cs
- Speller.cs
- DataGridViewCheckBoxCell.cs
- Drawing.cs
- HttpCookieCollection.cs
- SoapSchemaImporter.cs
- LookupBindingPropertiesAttribute.cs
- Array.cs
- FillErrorEventArgs.cs
- WebPartAddingEventArgs.cs
- WebAdminConfigurationHelper.cs
- SafeNativeMethods.cs
- ToolboxBitmapAttribute.cs
- TriggerActionCollection.cs
- CompareInfo.cs
- CommandField.cs
- EntityContainerAssociationSet.cs
- DiscoveryClientReferences.cs
- DataPagerFieldItem.cs
- XsltFunctions.cs
- mediaeventargs.cs
- TemplateManager.cs
- ExceptionWrapper.cs
- ObjectView.cs
- SHA384Managed.cs
- DataBindingCollection.cs
- DrawingVisual.cs
- DbDataSourceEnumerator.cs
- GridViewSelectEventArgs.cs
- AnnotationComponentManager.cs
- DLinqDataModelProvider.cs
- TemplateContainer.cs
- UrlPath.cs
- TreeNode.cs
- Page.cs
- DriveNotFoundException.cs
- KerberosRequestorSecurityToken.cs
- HttpRequest.cs
- XmlnsCompatibleWithAttribute.cs
- ADConnectionHelper.cs
- XmlComment.cs
- SubpageParaClient.cs
- PageAdapter.cs
- SqlMethods.cs
- TypeSystem.cs
- Profiler.cs
- MeasureItemEvent.cs
- WaitForChangedResult.cs
- IEnumerable.cs
- DataGridColumnEventArgs.cs
- RelationshipDetailsRow.cs
- RegexGroupCollection.cs
- AtomMaterializer.cs
- VectorConverter.cs
- LingerOption.cs
- HostProtectionPermission.cs
- HiddenFieldPageStatePersister.cs
- OracleSqlParser.cs
- DesignerTransaction.cs
- WSDualHttpBinding.cs
- XPathNodePointer.cs
- XmlTextReader.cs
- IdentityReference.cs
- ConfigXmlComment.cs
- Variable.cs
- MorphHelpers.cs
- XmlCustomFormatter.cs
- XmlQueryTypeFactory.cs
- RoleManagerEventArgs.cs
- ReaderWriterLock.cs
- _ListenerResponseStream.cs
- ServiceReference.cs
- ApplicationContext.cs
- CompressEmulationStream.cs
- VersionUtil.cs
- ParsedAttributeCollection.cs
- OdbcReferenceCollection.cs
- BrowserCapabilitiesFactory.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- HandleCollector.cs