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
- AutomationIdentifier.cs
- StorageMappingItemLoader.cs
- SQLBytesStorage.cs
- ContainerControlDesigner.cs
- ResXFileRef.cs
- GraphicsState.cs
- DecimalStorage.cs
- Point4DValueSerializer.cs
- ScopelessEnumAttribute.cs
- ReferenceAssemblyAttribute.cs
- ViewPort3D.cs
- SimpleHandlerBuildProvider.cs
- FrugalList.cs
- InfoCardArgumentException.cs
- DataGridItemEventArgs.cs
- TagPrefixInfo.cs
- SerialErrors.cs
- MethodRental.cs
- ProcessHostServerConfig.cs
- TypeCacheManager.cs
- Compiler.cs
- LinkConverter.cs
- OleDbErrorCollection.cs
- Thumb.cs
- GridLength.cs
- TypeSource.cs
- DataTableCollection.cs
- LiteralTextParser.cs
- DictionaryBase.cs
- SendActivityDesignerTheme.cs
- RelationshipEndCollection.cs
- DBDataPermissionAttribute.cs
- DataGridViewEditingControlShowingEventArgs.cs
- WebHostScriptMappingsInstallComponent.cs
- CacheChildrenQuery.cs
- MessageOperationFormatter.cs
- DynamicPropertyHolder.cs
- SynchronizingStream.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- MetricEntry.cs
- ExternalDataExchangeService.cs
- PathSegmentCollection.cs
- LinearKeyFrames.cs
- RegexWorker.cs
- TraceSection.cs
- WebReferencesBuildProvider.cs
- ProtocolsConfiguration.cs
- ScrollBar.cs
- TimeoutException.cs
- CodeEventReferenceExpression.cs
- FileDialog_Vista_Interop.cs
- DropShadowEffect.cs
- QueryContinueDragEventArgs.cs
- SHA256Managed.cs
- IApplicationTrustManager.cs
- Point.cs
- TypedTableBase.cs
- OdbcParameter.cs
- SortableBindingList.cs
- ReverseInheritProperty.cs
- WizardStepBase.cs
- MenuItem.cs
- ValueSerializerAttribute.cs
- ContextQuery.cs
- HuffmanTree.cs
- TreeBuilder.cs
- DependsOnAttribute.cs
- ShaperBuffers.cs
- SerializationInfo.cs
- mda.cs
- CompilerError.cs
- StateInitialization.cs
- PiiTraceSource.cs
- XmlExpressionDumper.cs
- ParentControlDesigner.cs
- HwndProxyElementProvider.cs
- PropertyDescriptor.cs
- ProviderMetadataCachedInformation.cs
- CmsUtils.cs
- Tablet.cs
- ColorAnimationUsingKeyFrames.cs
- SqlDataReader.cs
- PhysicalFontFamily.cs
- ProcessHostConfigUtils.cs
- Span.cs
- XmlStreamStore.cs
- BordersPage.cs
- MultiPageTextView.cs
- EntityCommandCompilationException.cs
- EmptyEnumerator.cs
- TextElementEnumerator.cs
- UshortList2.cs
- FilteredReadOnlyMetadataCollection.cs
- RegexCapture.cs
- WithStatement.cs
- shaperfactoryquerycachekey.cs
- HtmlTable.cs
- HwndMouseInputProvider.cs
- SpecularMaterial.cs
- NumberFormatInfo.cs