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
- SafeNativeMethods.cs
- ObservableDictionary.cs
- HttpCookieCollection.cs
- FilePrompt.cs
- ButtonAutomationPeer.cs
- CaretElement.cs
- XmlStringTable.cs
- HttpResponseBase.cs
- CommonGetThemePartSize.cs
- RootBrowserWindow.cs
- InitializationEventAttribute.cs
- CellQuery.cs
- BaseServiceProvider.cs
- IRCollection.cs
- XmlSchemaAny.cs
- DATA_BLOB.cs
- DbConnectionClosed.cs
- WebPartDescription.cs
- DataGridViewColumnCollectionDialog.cs
- X509Certificate2.cs
- DesignerActionTextItem.cs
- DateTimeOffsetConverter.cs
- SessionStateSection.cs
- VisualBrush.cs
- dsa.cs
- SimpleHandlerFactory.cs
- BinaryObjectInfo.cs
- EventManager.cs
- LockedAssemblyCache.cs
- CodeGroup.cs
- AnimationLayer.cs
- ToolStripItemCollection.cs
- DomNameTable.cs
- SystemException.cs
- OleCmdHelper.cs
- XPathBinder.cs
- CodeExporter.cs
- DesigntimeLicenseContextSerializer.cs
- InplaceBitmapMetadataWriter.cs
- COAUTHIDENTITY.cs
- RoleManagerEventArgs.cs
- PackagingUtilities.cs
- ReceiveCompletedEventArgs.cs
- XamlTemplateSerializer.cs
- HttpTransportSecurity.cs
- MachineKey.cs
- Ray3DHitTestResult.cs
- ListBoxItemAutomationPeer.cs
- DataGridViewAccessibleObject.cs
- BezierSegment.cs
- InfoCardAsymmetricCrypto.cs
- HttpRawResponse.cs
- LinkTarget.cs
- HttpResponseHeader.cs
- SuppressMessageAttribute.cs
- DefaultTextStoreTextComposition.cs
- XPathArrayIterator.cs
- Util.cs
- ApplicationInfo.cs
- ApplyImportsAction.cs
- BlurBitmapEffect.cs
- cookiecontainer.cs
- Walker.cs
- EncoderNLS.cs
- CompositeTypefaceMetrics.cs
- HtmlTernaryTree.cs
- DisplayMemberTemplateSelector.cs
- BindingExpressionBase.cs
- PropagationProtocolsTracing.cs
- SchemaImporterExtensionElementCollection.cs
- RelatedPropertyManager.cs
- XmlQueryType.cs
- StyleSelector.cs
- AvTrace.cs
- ReadOnlyTernaryTree.cs
- XPathNodeList.cs
- WindowsSpinner.cs
- FloaterBaseParaClient.cs
- DataControlButton.cs
- MeasurementDCInfo.cs
- MatrixCamera.cs
- TraversalRequest.cs
- SemanticResultValue.cs
- RegexWorker.cs
- DataGridViewMethods.cs
- IImplicitResourceProvider.cs
- ToolStripItem.cs
- EntityTypeEmitter.cs
- CmsInterop.cs
- ReadOnlyObservableCollection.cs
- ToolStripDropDown.cs
- InertiaExpansionBehavior.cs
- Filter.cs
- FolderBrowserDialog.cs
- GridItem.cs
- SymmetricSecurityProtocolFactory.cs
- documentation.cs
- MaskDesignerDialog.cs
- LocatorPartList.cs
- UriSection.cs