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 / ScriptReferenceBase.cs / 1 / ScriptReferenceBase.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; 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.WebControls; using Debug = System.Diagnostics.Debug; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), DefaultProperty("Path"), ] public abstract class ScriptReferenceBase { private bool _alwaysLoadBeforeUI; private IClientUrlResolver _clientUrlResolver; private Control _containingControl; private bool _isStaticReference; private bool _notifyScriptLoaded = true; private string _path; private string[] _resourceUICultures; private ScriptMode _scriptMode; protected ScriptReferenceBase() {} internal bool AlwaysLoadBeforeUI { get { return _alwaysLoadBeforeUI; } set { _alwaysLoadBeforeUI = value; } } // Used by ScriptManager to associate a ScriptReference with its url resolver // (i.e. ScriptManager or ScriptManagerProxy) internal IClientUrlResolver ClientUrlResolver { get { return _clientUrlResolver; } set { _clientUrlResolver = value; } } internal Control ContainingControl { get { return _containingControl; } set { _containingControl = value; } } // isStaticReference is true if the reference came from a ScriptManager or ScriptManagerProxy scripts collection, // false if it came from an IScriptControl or ExtenderControl. internal bool IsStaticReference { get { return _isStaticReference; } set { _isStaticReference = value; } } [ Category("Behavior"), DefaultValue(true), NotifyParentProperty(true), ResourceDescription("ScriptReference_NotifyScriptLoaded") ] public bool NotifyScriptLoaded { get { return _notifyScriptLoaded; } set { _notifyScriptLoaded = value; } } [ Category("Behavior"), DefaultValue(""), NotifyParentProperty(true), ResourceDescription("ScriptReference_Path"), UrlProperty("*.js") ] public string Path { get { return (_path == null) ? String.Empty : _path; } set { _path = value; } } [ ResourceDescription("ScriptReference_ResourceUICultures"), DefaultValue(null), Category("Behavior"), MergableProperty(false), NotifyParentProperty(true), TypeConverter(typeof(StringArrayConverter)), SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays", Justification = "String[] has existing TypeConverter support, which we don't want to add for Listto the assembly just for this property and at this point in the product cycle.") ] public string[] ResourceUICultures { get { return _resourceUICultures; } set { _resourceUICultures = value; } } [ Category("Behavior"), DefaultValue(ScriptMode.Auto), NotifyParentProperty(true), ResourceDescription("ScriptReference_ScriptMode") ] public ScriptMode ScriptMode { get { return _scriptMode; } set { if (value < ScriptMode.Auto || value > ScriptMode.Release) { throw new ArgumentOutOfRangeException("value"); } _scriptMode = value; } } protected internal abstract bool IsFromSystemWebExtensions(); // Script path may contain a query string, while script name may not // Release: foo.js?key=value // Debug: foo.debug.js?key=value internal static string GetDebugPath(string releasePath) { // Per RFC 3986, the '?' delimits the query, regardless of the protocol. This overrides // an earlier RFC, which stated that FTP protocol allows '?' as path characters. string pathWithoutQuery; string query; if (releasePath.IndexOf('?') >= 0) { int indexOfQuery = releasePath.IndexOf('?'); pathWithoutQuery = releasePath.Substring(0, indexOfQuery); query = releasePath.Substring(indexOfQuery); } else { pathWithoutQuery = releasePath; query = null; } if (!pathWithoutQuery.EndsWith(".js", StringComparison.Ordinal)) { throw new InvalidOperationException( String.Format(CultureInfo.CurrentUICulture, AtlasWeb.ScriptReference_InvalidReleaseScriptPath, pathWithoutQuery)); } return ReplaceExtension(pathWithoutQuery) + query; } [SuppressMessage("Microsoft.Design", "CA1055", Justification = "Consistent with other URL properties in ASP.NET.")] protected internal abstract string GetUrl(ScriptManager scriptManager, bool zip); // Assumes the input ends with ".js". Replaces the ".js" at the end of the input // with ".debug.js". protected static string ReplaceExtension(string pathOrName) { Debug.Assert(pathOrName.EndsWith(".js", StringComparison.Ordinal)); return (pathOrName.Substring(0, pathOrName.Length - 2) + "debug.js"); } } } // 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.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Security.Permissions; using System.Web; using System.Web.Resources; using System.Web.UI.WebControls; using Debug = System.Diagnostics.Debug; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), DefaultProperty("Path"), ] public abstract class ScriptReferenceBase { private bool _alwaysLoadBeforeUI; private IClientUrlResolver _clientUrlResolver; private Control _containingControl; private bool _isStaticReference; private bool _notifyScriptLoaded = true; private string _path; private string[] _resourceUICultures; private ScriptMode _scriptMode; protected ScriptReferenceBase() {} internal bool AlwaysLoadBeforeUI { get { return _alwaysLoadBeforeUI; } set { _alwaysLoadBeforeUI = value; } } // Used by ScriptManager to associate a ScriptReference with its url resolver // (i.e. ScriptManager or ScriptManagerProxy) internal IClientUrlResolver ClientUrlResolver { get { return _clientUrlResolver; } set { _clientUrlResolver = value; } } internal Control ContainingControl { get { return _containingControl; } set { _containingControl = value; } } // isStaticReference is true if the reference came from a ScriptManager or ScriptManagerProxy scripts collection, // false if it came from an IScriptControl or ExtenderControl. internal bool IsStaticReference { get { return _isStaticReference; } set { _isStaticReference = value; } } [ Category("Behavior"), DefaultValue(true), NotifyParentProperty(true), ResourceDescription("ScriptReference_NotifyScriptLoaded") ] public bool NotifyScriptLoaded { get { return _notifyScriptLoaded; } set { _notifyScriptLoaded = value; } } [ Category("Behavior"), DefaultValue(""), NotifyParentProperty(true), ResourceDescription("ScriptReference_Path"), UrlProperty("*.js") ] public string Path { get { return (_path == null) ? String.Empty : _path; } set { _path = value; } } [ ResourceDescription("ScriptReference_ResourceUICultures"), DefaultValue(null), Category("Behavior"), MergableProperty(false), NotifyParentProperty(true), TypeConverter(typeof(StringArrayConverter)), SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays", Justification = "String[] has existing TypeConverter support, which we don't want to add for Listto the assembly just for this property and at this point in the product cycle.") ] public string[] ResourceUICultures { get { return _resourceUICultures; } set { _resourceUICultures = value; } } [ Category("Behavior"), DefaultValue(ScriptMode.Auto), NotifyParentProperty(true), ResourceDescription("ScriptReference_ScriptMode") ] public ScriptMode ScriptMode { get { return _scriptMode; } set { if (value < ScriptMode.Auto || value > ScriptMode.Release) { throw new ArgumentOutOfRangeException("value"); } _scriptMode = value; } } protected internal abstract bool IsFromSystemWebExtensions(); // Script path may contain a query string, while script name may not // Release: foo.js?key=value // Debug: foo.debug.js?key=value internal static string GetDebugPath(string releasePath) { // Per RFC 3986, the '?' delimits the query, regardless of the protocol. This overrides // an earlier RFC, which stated that FTP protocol allows '?' as path characters. string pathWithoutQuery; string query; if (releasePath.IndexOf('?') >= 0) { int indexOfQuery = releasePath.IndexOf('?'); pathWithoutQuery = releasePath.Substring(0, indexOfQuery); query = releasePath.Substring(indexOfQuery); } else { pathWithoutQuery = releasePath; query = null; } if (!pathWithoutQuery.EndsWith(".js", StringComparison.Ordinal)) { throw new InvalidOperationException( String.Format(CultureInfo.CurrentUICulture, AtlasWeb.ScriptReference_InvalidReleaseScriptPath, pathWithoutQuery)); } return ReplaceExtension(pathWithoutQuery) + query; } [SuppressMessage("Microsoft.Design", "CA1055", Justification = "Consistent with other URL properties in ASP.NET.")] protected internal abstract string GetUrl(ScriptManager scriptManager, bool zip); // Assumes the input ends with ".js". Replaces the ".js" at the end of the input // with ".debug.js". protected static string ReplaceExtension(string pathOrName) { Debug.Assert(pathOrName.EndsWith(".js", StringComparison.Ordinal)); return (pathOrName.Substring(0, pathOrName.Length - 2) + "debug.js"); } } } // 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
- SqlDependencyListener.cs
- brushes.cs
- InternalConfigRoot.cs
- ColorKeyFrameCollection.cs
- BitmapSizeOptions.cs
- ConnectionManagementElementCollection.cs
- BinaryWriter.cs
- TextPatternIdentifiers.cs
- GeometryGroup.cs
- MailWriter.cs
- ProviderConnectionPoint.cs
- MediaPlayer.cs
- QueryableDataSourceEditData.cs
- contentDescriptor.cs
- OutputScopeManager.cs
- BufferedGraphics.cs
- OperationCanceledException.cs
- ModifierKeysValueSerializer.cs
- UIElementHelper.cs
- DrawingContextDrawingContextWalker.cs
- InstanceKey.cs
- FontFamilyIdentifier.cs
- ParagraphVisual.cs
- KnowledgeBase.cs
- ItemType.cs
- SimpleApplicationHost.cs
- BuiltInExpr.cs
- CanonicalizationDriver.cs
- HttpListenerResponse.cs
- TextSegment.cs
- DeobfuscatingStream.cs
- DelegatingTypeDescriptionProvider.cs
- CodeAttributeArgumentCollection.cs
- WebColorConverter.cs
- Geometry.cs
- ReadOnlyMetadataCollection.cs
- XmlILOptimizerVisitor.cs
- CharacterBufferReference.cs
- MailBnfHelper.cs
- SqlDataReader.cs
- ACE.cs
- Model3DGroup.cs
- PlainXmlSerializer.cs
- ChtmlTextWriter.cs
- MaskedTextProvider.cs
- XPathArrayIterator.cs
- CryptoConfig.cs
- HTTPRemotingHandler.cs
- ComponentChangingEvent.cs
- StorageAssociationTypeMapping.cs
- RequestSecurityTokenResponse.cs
- GroupAggregateExpr.cs
- HttpRuntime.cs
- SafeReadContext.cs
- Deserializer.cs
- FastEncoderStatics.cs
- DebugView.cs
- UnsafeNativeMethods.cs
- XsdBuildProvider.cs
- EventRoute.cs
- DataRowView.cs
- FreezableOperations.cs
- DrawingContextFlattener.cs
- EntryIndex.cs
- GroupItemAutomationPeer.cs
- EpmCustomContentDeSerializer.cs
- CustomValidator.cs
- HotSpotCollection.cs
- UInt32Storage.cs
- SqlCaseSimplifier.cs
- SubMenuStyleCollectionEditor.cs
- TextWriter.cs
- ContentControl.cs
- XmlSchemaComplexContent.cs
- SerialPinChanges.cs
- MergePropertyDescriptor.cs
- SymbolEqualComparer.cs
- HyperLinkField.cs
- PowerStatus.cs
- CompilationUnit.cs
- ColorTranslator.cs
- BooleanSwitch.cs
- RepeaterDesigner.cs
- CookieParameter.cs
- TypefaceMap.cs
- OverrideMode.cs
- PropertyExpression.cs
- HMACSHA512.cs
- CompensationHandlingFilter.cs
- Fonts.cs
- TemplateControlCodeDomTreeGenerator.cs
- ScrollableControl.cs
- CalculatedColumn.cs
- MemoryRecordBuffer.cs
- AudioFormatConverter.cs
- RepeatButtonAutomationPeer.cs
- ControlSerializer.cs
- DownloadProgressEventArgs.cs
- LocalizationParserHooks.cs
- ListViewGroupConverter.cs