Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / MobileControlsSectionHelper.cs / 1305376 / MobileControlsSectionHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Configuration; using System.Diagnostics; using System.Globalization; namespace System.Web.UI.MobileControls { [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal static class MobileControlsSectionHelper { private static void AddControlAdapters(IndividualDeviceConfig deviceConfig, DeviceElement device) { foreach (ControlElement control in device.Controls) { deviceConfig.AddControl(control.Control, control.Adapter); } } // Essentially this method does what MobileControlSectionHandler.Create() // does, but use MobileControlsSection for retrieving config data instead internal static ControlsConfig CreateControlsConfig(MobileControlsSection controlSection) { ControlsConfig config = new ControlsConfig(null); config["sessionStateHistorySize"] = controlSection.SessionStateHistorySize.ToString(CultureInfo.InvariantCulture); config["cookielessDataDictionaryType"] = controlSection.CookielessDataDictionaryType.AssemblyQualifiedName; config["allowCustomAttributes"] = controlSection.AllowCustomAttributes.ToString(CultureInfo.InvariantCulture); foreach (DeviceElement device in controlSection.Devices) { IndividualDeviceConfig deviceConfig = CreateDeviceConfig(config, device); AddControlAdapters(deviceConfig, device); if (!config.AddDeviceConfig(device.Name, deviceConfig)) { // Problem is due to a duplicated name throw new ConfigurationErrorsException( SR.GetString(SR.MobileControlsSectionHandler_DuplicatedDeviceName, device.Name)); } } // Passing null means no config file and line number info will be // shown when error happens. That is because there is no XmlNode of // the config section is available when MobileControlsSection is // used. But the error messages raised should still be good enough. config.FixupDeviceConfigInheritance(null); return config; } // Essentially this method does what MobileControlSectionHandler.CreateDeviceConfig() // does, but use MobileControlsSection for retrieving config data instead private static IndividualDeviceConfig CreateDeviceConfig(ControlsConfig config, DeviceElement device) { String nameOfDeviceToInheritFrom = device.InheritsFrom; if (nameOfDeviceToInheritFrom != null && nameOfDeviceToInheritFrom.Length == 0) { nameOfDeviceToInheritFrom = null; } IndividualDeviceConfig.DeviceQualifiesDelegate predicateDelegate = null; if (device.PredicateClass != null) { // If a predicate class is specified, so must a method. // The checking is already done in MobileControlsSection Debug.Assert(!String.IsNullOrEmpty(device.PredicateMethod)); predicateDelegate = device.GetDelegate(); } return new IndividualDeviceConfig(config, device.Name, predicateDelegate, device.PageAdapter, nameOfDeviceToInheritFrom); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Configuration; using System.Diagnostics; using System.Globalization; namespace System.Web.UI.MobileControls { [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal static class MobileControlsSectionHelper { private static void AddControlAdapters(IndividualDeviceConfig deviceConfig, DeviceElement device) { foreach (ControlElement control in device.Controls) { deviceConfig.AddControl(control.Control, control.Adapter); } } // Essentially this method does what MobileControlSectionHandler.Create() // does, but use MobileControlsSection for retrieving config data instead internal static ControlsConfig CreateControlsConfig(MobileControlsSection controlSection) { ControlsConfig config = new ControlsConfig(null); config["sessionStateHistorySize"] = controlSection.SessionStateHistorySize.ToString(CultureInfo.InvariantCulture); config["cookielessDataDictionaryType"] = controlSection.CookielessDataDictionaryType.AssemblyQualifiedName; config["allowCustomAttributes"] = controlSection.AllowCustomAttributes.ToString(CultureInfo.InvariantCulture); foreach (DeviceElement device in controlSection.Devices) { IndividualDeviceConfig deviceConfig = CreateDeviceConfig(config, device); AddControlAdapters(deviceConfig, device); if (!config.AddDeviceConfig(device.Name, deviceConfig)) { // Problem is due to a duplicated name throw new ConfigurationErrorsException( SR.GetString(SR.MobileControlsSectionHandler_DuplicatedDeviceName, device.Name)); } } // Passing null means no config file and line number info will be // shown when error happens. That is because there is no XmlNode of // the config section is available when MobileControlsSection is // used. But the error messages raised should still be good enough. config.FixupDeviceConfigInheritance(null); return config; } // Essentially this method does what MobileControlSectionHandler.CreateDeviceConfig() // does, but use MobileControlsSection for retrieving config data instead private static IndividualDeviceConfig CreateDeviceConfig(ControlsConfig config, DeviceElement device) { String nameOfDeviceToInheritFrom = device.InheritsFrom; if (nameOfDeviceToInheritFrom != null && nameOfDeviceToInheritFrom.Length == 0) { nameOfDeviceToInheritFrom = null; } IndividualDeviceConfig.DeviceQualifiesDelegate predicateDelegate = null; if (device.PredicateClass != null) { // If a predicate class is specified, so must a method. // The checking is already done in MobileControlsSection Debug.Assert(!String.IsNullOrEmpty(device.PredicateMethod)); predicateDelegate = device.GetDelegate(); } return new IndividualDeviceConfig(config, device.Name, predicateDelegate, device.PageAdapter, nameOfDeviceToInheritFrom); } } } // 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
- TraceLevelStore.cs
- OutgoingWebResponseContext.cs
- GregorianCalendar.cs
- XmlDeclaration.cs
- ExpressionBuilderContext.cs
- BitConverter.cs
- DbSetClause.cs
- DependencyProperty.cs
- SiteMapDataSource.cs
- WindowsMenu.cs
- IgnoreFileBuildProvider.cs
- SqlInternalConnectionSmi.cs
- EncodingNLS.cs
- Vector3DValueSerializer.cs
- SqlXmlStorage.cs
- BinaryConverter.cs
- ContentHostHelper.cs
- SwitchExpression.cs
- HttpListener.cs
- COM2TypeInfoProcessor.cs
- InstanceDescriptor.cs
- MergeLocalizationDirectives.cs
- DbCommandTree.cs
- ButtonField.cs
- PageThemeParser.cs
- StreamUpdate.cs
- TableCellCollection.cs
- MemberCollection.cs
- WindowsStartMenu.cs
- BamlTreeUpdater.cs
- TextRunProperties.cs
- KeyPullup.cs
- GeneratedCodeAttribute.cs
- IListConverters.cs
- ImageBrush.cs
- mansign.cs
- AccessViolationException.cs
- XmlSchemaNotation.cs
- FtpRequestCacheValidator.cs
- ColumnMap.cs
- FixedDocument.cs
- XPathBinder.cs
- SinglePhaseEnlistment.cs
- CurrencyWrapper.cs
- LogLogRecord.cs
- SoapHeaderException.cs
- XmlResolver.cs
- DictionaryEntry.cs
- XPathAncestorIterator.cs
- ReferenceService.cs
- ManagedFilter.cs
- StringUtil.cs
- ViewLoader.cs
- Reference.cs
- DataGridBeginningEditEventArgs.cs
- HttpConfigurationContext.cs
- TrustLevelCollection.cs
- ContainerTracking.cs
- TagPrefixCollection.cs
- BitmapEffectGeneralTransform.cs
- RootProfilePropertySettingsCollection.cs
- DetailsView.cs
- SystemIPInterfaceStatistics.cs
- UpdateRecord.cs
- MD5CryptoServiceProvider.cs
- Emitter.cs
- Shape.cs
- HexParser.cs
- LinqDataSourceView.cs
- DbDataRecord.cs
- OptionalRstParameters.cs
- lengthconverter.cs
- BorderGapMaskConverter.cs
- securitymgrsite.cs
- MemberMaps.cs
- InProcStateClientManager.cs
- InputDevice.cs
- ElementsClipboardData.cs
- UpdatePanel.cs
- CodeCatchClause.cs
- StrokeNodeEnumerator.cs
- XmlElementList.cs
- SQLSingle.cs
- Function.cs
- OneOfElement.cs
- HttpCookieCollection.cs
- CustomAttribute.cs
- StsCommunicationException.cs
- BaseEntityWrapper.cs
- ContextMenu.cs
- QueueAccessMode.cs
- ToolBar.cs
- CreateUserWizardStep.cs
- PerfService.cs
- CustomExpression.cs
- WindowsFormsHostAutomationPeer.cs
- TiffBitmapEncoder.cs
- BaseValidator.cs
- PatternMatcher.cs
- COM2ComponentEditor.cs