Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / UserControlParser.cs / 1305376 / UserControlParser.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Implements the ASP.NET template parser * * Copyright (c) 1998 Microsoft Corporation */ namespace System.Web.UI { using System; using System.Collections; using System.IO; using System.Security; using System.Security.Permissions; using System.Web.Compilation; using System.Globalization; using System.Web.Caching; /* * Parser for declarative controls */ internal class UserControlParser : TemplateControlParser { private bool _fSharedPartialCaching; private string _provider; internal bool FSharedPartialCaching { get { return _fSharedPartialCaching ; } } internal string Provider { get { return _provider ; } } // Get default settings from config internal override void ProcessConfigSettings() { base.ProcessConfigSettings(); ApplyBaseType(); } // Get the default baseType from PagesConfig. internal virtual void ApplyBaseType() { if (PageParser.DefaultUserControlBaseType != null) { BaseType = PageParser.DefaultUserControlBaseType; } else if (PagesConfig != null && PagesConfig.UserControlBaseTypeInternal != null) { BaseType = PagesConfig.UserControlBaseTypeInternal; } } internal override Type DefaultBaseType { get { return typeof(System.Web.UI.UserControl); } } internal const string defaultDirectiveName = "control"; internal override string DefaultDirectiveName { get { return defaultDirectiveName; } } internal override Type DefaultFileLevelBuilderType { get { return typeof(FileLevelUserControlBuilder); } } internal override RootBuilder CreateDefaultFileLevelBuilder() { return new FileLevelUserControlBuilder(); } /* * Process the contents of the <%@ OutputCache ... %> directive */ internal override void ProcessOutputCacheDirective(string directiveName, IDictionary directive) { string sqlDependency; Util.GetAndRemoveBooleanAttribute(directive, "shared", ref _fSharedPartialCaching); _provider = Util.GetAndRemoveNonEmptyAttribute(directive, "providerName"); if (_provider == OutputCache.ASPNET_INTERNAL_PROVIDER_NAME) { _provider = null; } OutputCache.ThrowIfProviderNotFound(_provider); sqlDependency = Util.GetAndRemoveNonEmptyAttribute(directive, "sqldependency"); if (sqlDependency != null) { // Validate the sqldependency attribute SqlCacheDependency.ValidateOutputCacheDependencyString(sqlDependency, false); OutputCacheParameters.SqlDependency = sqlDependency; } base.ProcessOutputCacheDirective(directiveName, directive); } internal override bool FVaryByParamsRequiredOnOutputCache { get { return OutputCacheParameters.VaryByControl == null; } } internal override string UnknownOutputCacheAttributeError { get { return SR.Attr_not_supported_in_ucdirective; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Implements the ASP.NET template parser * * Copyright (c) 1998 Microsoft Corporation */ namespace System.Web.UI { using System; using System.Collections; using System.IO; using System.Security; using System.Security.Permissions; using System.Web.Compilation; using System.Globalization; using System.Web.Caching; /* * Parser for declarative controls */ internal class UserControlParser : TemplateControlParser { private bool _fSharedPartialCaching; private string _provider; internal bool FSharedPartialCaching { get { return _fSharedPartialCaching ; } } internal string Provider { get { return _provider ; } } // Get default settings from config internal override void ProcessConfigSettings() { base.ProcessConfigSettings(); ApplyBaseType(); } // Get the default baseType from PagesConfig. internal virtual void ApplyBaseType() { if (PageParser.DefaultUserControlBaseType != null) { BaseType = PageParser.DefaultUserControlBaseType; } else if (PagesConfig != null && PagesConfig.UserControlBaseTypeInternal != null) { BaseType = PagesConfig.UserControlBaseTypeInternal; } } internal override Type DefaultBaseType { get { return typeof(System.Web.UI.UserControl); } } internal const string defaultDirectiveName = "control"; internal override string DefaultDirectiveName { get { return defaultDirectiveName; } } internal override Type DefaultFileLevelBuilderType { get { return typeof(FileLevelUserControlBuilder); } } internal override RootBuilder CreateDefaultFileLevelBuilder() { return new FileLevelUserControlBuilder(); } /* * Process the contents of the <%@ OutputCache ... %> directive */ internal override void ProcessOutputCacheDirective(string directiveName, IDictionary directive) { string sqlDependency; Util.GetAndRemoveBooleanAttribute(directive, "shared", ref _fSharedPartialCaching); _provider = Util.GetAndRemoveNonEmptyAttribute(directive, "providerName"); if (_provider == OutputCache.ASPNET_INTERNAL_PROVIDER_NAME) { _provider = null; } OutputCache.ThrowIfProviderNotFound(_provider); sqlDependency = Util.GetAndRemoveNonEmptyAttribute(directive, "sqldependency"); if (sqlDependency != null) { // Validate the sqldependency attribute SqlCacheDependency.ValidateOutputCacheDependencyString(sqlDependency, false); OutputCacheParameters.SqlDependency = sqlDependency; } base.ProcessOutputCacheDirective(directiveName, directive); } internal override bool FVaryByParamsRequiredOnOutputCache { get { return OutputCacheParameters.VaryByControl == null; } } internal override string UnknownOutputCacheAttributeError { get { return SR.Attr_not_supported_in_ucdirective; } } } } // 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
- WebServiceFaultDesigner.cs
- Knowncolors.cs
- ScrollData.cs
- util.cs
- PageSetupDialog.cs
- PersonalizationStateInfoCollection.cs
- ModelService.cs
- LinkedResourceCollection.cs
- GuidelineSet.cs
- CacheMemory.cs
- precedingsibling.cs
- HMACRIPEMD160.cs
- ArgumentException.cs
- UnhandledExceptionEventArgs.cs
- InputReport.cs
- XmlComment.cs
- OdbcConnectionPoolProviderInfo.cs
- ExtentKey.cs
- HttpListenerRequest.cs
- HostedNamedPipeTransportManager.cs
- Predicate.cs
- JoinTreeNode.cs
- GridViewAutoFormat.cs
- RealizationDrawingContextWalker.cs
- Gdiplus.cs
- MTConfigUtil.cs
- ExternalCalls.cs
- XmlStreamStore.cs
- BasicHttpMessageSecurityElement.cs
- SByteConverter.cs
- WebPartConnectionCollection.cs
- Qualifier.cs
- SafeHandles.cs
- NativeWrapper.cs
- ApplicationInfo.cs
- SqlHelper.cs
- SafeNativeMethodsCLR.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- InkPresenterAutomationPeer.cs
- SpotLight.cs
- PropertyFilterAttribute.cs
- TemplateControl.cs
- CurrentChangingEventManager.cs
- AccessDataSourceWizardForm.cs
- FlagsAttribute.cs
- ControlTemplate.cs
- SelectManyQueryOperator.cs
- ValidatorCollection.cs
- CaseInsensitiveComparer.cs
- SolidColorBrush.cs
- TextElementEnumerator.cs
- XmlAutoDetectWriter.cs
- WindowsImpersonationContext.cs
- InputChannelBinder.cs
- SharedPersonalizationStateInfo.cs
- GestureRecognitionResult.cs
- DisplayInformation.cs
- SessionEndingEventArgs.cs
- ScrollItemPatternIdentifiers.cs
- ListViewItem.cs
- StrokeNodeEnumerator.cs
- EncryptedPackageFilter.cs
- PathData.cs
- MethodSet.cs
- CustomErrorsSection.cs
- ManagementOptions.cs
- TextDecoration.cs
- LayoutSettings.cs
- CompositeCollection.cs
- XmlDocumentSerializer.cs
- MemberAccessException.cs
- Popup.cs
- EntityTemplateUserControl.cs
- CatalogZone.cs
- PermissionSet.cs
- NotifyIcon.cs
- ShadowGlyph.cs
- ComboBox.cs
- X509WindowsSecurityToken.cs
- Graphics.cs
- SynchronizationContext.cs
- Int16.cs
- BitmapScalingModeValidation.cs
- ByteStreamGeometryContext.cs
- DrawingState.cs
- WindowsImpersonationContext.cs
- DataGridColumnHeaderCollection.cs
- URL.cs
- ToolStripItemDesigner.cs
- XmlTypeMapping.cs
- TerminateSequenceResponse.cs
- XmlSchemaComplexContent.cs
- BulletedListDesigner.cs
- DataGridViewRowsAddedEventArgs.cs
- OleDbFactory.cs
- _SafeNetHandles.cs
- DataSvcMapFile.cs
- AsmxEndpointPickerExtension.cs
- TabControl.cs
- WinEventQueueItem.cs