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
- MethodBody.cs
- MemoryPressure.cs
- ComplexPropertyEntry.cs
- DataGridViewTextBoxEditingControl.cs
- SerializationEventsCache.cs
- BindingMAnagerBase.cs
- RC2.cs
- Int16.cs
- SQLDoubleStorage.cs
- PermissionRequestEvidence.cs
- Operator.cs
- CompiledAction.cs
- ToolboxDataAttribute.cs
- DataFormats.cs
- XDeferredAxisSource.cs
- ConstrainedGroup.cs
- MinimizableAttributeTypeConverter.cs
- MobileContainerDesigner.cs
- WinEventHandler.cs
- DashStyles.cs
- CapabilitiesSection.cs
- DetailsView.cs
- SqlNodeAnnotations.cs
- ErrorTableItemStyle.cs
- LineServicesCallbacks.cs
- OracleConnectionStringBuilder.cs
- FixedTextSelectionProcessor.cs
- XmlSchemaExternal.cs
- HostedElements.cs
- AttributeAction.cs
- ErrorFormatter.cs
- SendMailErrorEventArgs.cs
- BrowserCapabilitiesCodeGenerator.cs
- GroupItemAutomationPeer.cs
- StoryFragments.cs
- HttpCookieCollection.cs
- CounterCreationDataCollection.cs
- BinarySerializer.cs
- SafeHandles.cs
- InputElement.cs
- EventListener.cs
- CacheModeConverter.cs
- nulltextnavigator.cs
- MappingItemCollection.cs
- DBSchemaTable.cs
- XmlObjectSerializerReadContext.cs
- RequestQueryParser.cs
- Blend.cs
- WinInetCache.cs
- JavaScriptObjectDeserializer.cs
- LinkButton.cs
- ExtensibleClassFactory.cs
- SystemColors.cs
- EventLogStatus.cs
- BrowsableAttribute.cs
- DataGridCellsPresenter.cs
- Iis7Helper.cs
- DataGridSortCommandEventArgs.cs
- DataSetMappper.cs
- SoapSchemaImporter.cs
- XmlSchemaValidationException.cs
- OracleInfoMessageEventArgs.cs
- ThumbButtonInfoCollection.cs
- ITreeGenerator.cs
- SimpleWorkerRequest.cs
- ApplicationFileCodeDomTreeGenerator.cs
- View.cs
- ContainerCodeDomSerializer.cs
- SingleAnimation.cs
- PartialCachingAttribute.cs
- entityreference_tresulttype.cs
- TypeToken.cs
- StatusBarDrawItemEvent.cs
- ListenerHandler.cs
- DynamicUpdateCommand.cs
- BuildResultCache.cs
- DiscreteKeyFrames.cs
- DirtyTextRange.cs
- Rectangle.cs
- TextParagraphView.cs
- UInt32Converter.cs
- PagesSection.cs
- TypeRestriction.cs
- SafeMarshalContext.cs
- InnerItemCollectionView.cs
- ReadOnlyDataSource.cs
- AudioStateChangedEventArgs.cs
- VectorCollectionValueSerializer.cs
- MdiWindowListItemConverter.cs
- TextModifier.cs
- CopyNodeSetAction.cs
- CompareInfo.cs
- CompileLiteralTextParser.cs
- DefaultValueAttribute.cs
- InplaceBitmapMetadataWriter.cs
- RegexGroup.cs
- EmptyEnumerator.cs
- BrowserCapabilitiesFactoryBase.cs
- NativeMethods.cs
- FileDialog_Vista_Interop.cs