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
- DictionaryKeyPropertyAttribute.cs
- ISAPIApplicationHost.cs
- ViewStateModeByIdAttribute.cs
- VirtualPath.cs
- BindingCollection.cs
- TraceListener.cs
- MiniCustomAttributeInfo.cs
- DependencyPropertyValueSerializer.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- TableLayoutColumnStyleCollection.cs
- ExceptionHandlerDesigner.cs
- DocumentPaginator.cs
- EdgeModeValidation.cs
- XPathBinder.cs
- MobileListItemCollection.cs
- ObjectRef.cs
- Single.cs
- EntityContainerEntitySetDefiningQuery.cs
- ItemsPanelTemplate.cs
- DisplayClaim.cs
- DropSource.cs
- BufferedWebEventProvider.cs
- Tile.cs
- EditingCommands.cs
- OutputWindow.cs
- XmlAttributeHolder.cs
- SEHException.cs
- TemplateBindingExtensionConverter.cs
- CloseCollectionAsyncResult.cs
- WinEventQueueItem.cs
- TransformerConfigurationWizardBase.cs
- OutputScopeManager.cs
- ConnectionManagementSection.cs
- MasterPageParser.cs
- ToolStripItemImageRenderEventArgs.cs
- DataGridRelationshipRow.cs
- ObjectDataSourceSelectingEventArgs.cs
- DataGridPageChangedEventArgs.cs
- SmtpDigestAuthenticationModule.cs
- SoapDocumentMethodAttribute.cs
- DesignerObjectListAdapter.cs
- GZipStream.cs
- PageAsyncTaskManager.cs
- DataGridViewComboBoxCell.cs
- XmlHierarchyData.cs
- DataBindingHandlerAttribute.cs
- SamlAssertionKeyIdentifierClause.cs
- WebService.cs
- ConnectionsZoneAutoFormat.cs
- EDesignUtil.cs
- WindowsEditBox.cs
- UnsafeNativeMethods.cs
- CodeMemberProperty.cs
- ListViewUpdateEventArgs.cs
- DataSourceUtil.cs
- DataGridItemEventArgs.cs
- CultureData.cs
- AttachedAnnotation.cs
- MenuItem.cs
- ApplyImportsAction.cs
- Binding.cs
- LoginUtil.cs
- BitVec.cs
- _HeaderInfoTable.cs
- RC2.cs
- TypedReference.cs
- Context.cs
- ellipse.cs
- XmlSerializerObjectSerializer.cs
- IgnorePropertiesAttribute.cs
- ContentType.cs
- TreeNodeEventArgs.cs
- HotSpotCollection.cs
- CodeExpressionCollection.cs
- _OverlappedAsyncResult.cs
- DefaultTextStoreTextComposition.cs
- TextWriterTraceListener.cs
- FolderBrowserDialogDesigner.cs
- SecurityRuntime.cs
- StaticContext.cs
- WebScriptMetadataMessageEncoderFactory.cs
- SqlParameterizer.cs
- ExceptionCollection.cs
- Ref.cs
- StylusButton.cs
- PtsCache.cs
- ResolveMatchesApril2005.cs
- METAHEADER.cs
- XamlStream.cs
- XmlNode.cs
- SubtreeProcessor.cs
- DBConcurrencyException.cs
- ShaderRenderModeValidation.cs
- SqlDuplicator.cs
- SystemResources.cs
- BindingNavigatorDesigner.cs
- RepeatButtonAutomationPeer.cs
- AdPostCacheSubstitution.cs
- CatalogPartCollection.cs
- GeneralTransform3DGroup.cs