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
- Baml6ConstructorInfo.cs
- ImportCatalogPart.cs
- EntryIndex.cs
- NullReferenceException.cs
- PropertyDescriptorComparer.cs
- RawMouseInputReport.cs
- CompressedStack.cs
- QueryResponse.cs
- GridViewEditEventArgs.cs
- LinqDataSourceUpdateEventArgs.cs
- XmlMapping.cs
- BasicHttpBinding.cs
- WeakReferenceList.cs
- WebRequestModulesSection.cs
- HtmlAnchor.cs
- DataFieldConverter.cs
- Terminate.cs
- UIElementCollection.cs
- DependencyPropertyAttribute.cs
- LeaseManager.cs
- xmlformatgeneratorstatics.cs
- HelpKeywordAttribute.cs
- ProjectionPruner.cs
- InputLangChangeEvent.cs
- WorkflowDataContext.cs
- ProfileInfo.cs
- VideoDrawing.cs
- COM2PropertyBuilderUITypeEditor.cs
- SchemaEntity.cs
- JpegBitmapEncoder.cs
- StreamHelper.cs
- SimpleHandlerFactory.cs
- SerializationSectionGroup.cs
- ResolveDuplexAsyncResult.cs
- UnmanagedMemoryStreamWrapper.cs
- ByteStack.cs
- EventLogger.cs
- UnaryOperationBinder.cs
- CompModSwitches.cs
- SelectionManager.cs
- CallbackValidator.cs
- QuadraticEase.cs
- DecoderFallback.cs
- StatusBarPanelClickEvent.cs
- RemoteHelper.cs
- ComponentResourceKeyConverter.cs
- CannotUnloadAppDomainException.cs
- ServiceModelEnumValidator.cs
- _TransmitFileOverlappedAsyncResult.cs
- DoubleMinMaxAggregationOperator.cs
- AxHost.cs
- IntSecurity.cs
- RichTextBoxAutomationPeer.cs
- UnsafeNativeMethodsCLR.cs
- Internal.cs
- SystemUnicastIPAddressInformation.cs
- PlacementWorkspace.cs
- DataGridParentRows.cs
- ObjectQueryExecutionPlan.cs
- QueuePropertyVariants.cs
- GroupQuery.cs
- infer.cs
- UnionCqlBlock.cs
- SerializationException.cs
- RegisteredHiddenField.cs
- RankException.cs
- DataGridViewColumnDesigner.cs
- CapabilitiesPattern.cs
- DashStyle.cs
- _AutoWebProxyScriptWrapper.cs
- SqlSupersetValidator.cs
- FormViewDeleteEventArgs.cs
- RootContext.cs
- CookielessHelper.cs
- StateWorkerRequest.cs
- RepeaterItem.cs
- InfocardExtendedInformationCollection.cs
- DataGridViewRowCancelEventArgs.cs
- CodeMemberProperty.cs
- MaterialGroup.cs
- SelectionItemPatternIdentifiers.cs
- WebPartTransformerAttribute.cs
- ObjectToIdCache.cs
- PagerSettings.cs
- TrackingProfile.cs
- TerminatorSinks.cs
- ContentValidator.cs
- XmlNodeChangedEventManager.cs
- ConnectionManagementElementCollection.cs
- OneToOneMappingSerializer.cs
- SafeProcessHandle.cs
- ReachFixedDocumentSerializerAsync.cs
- BaseCodeDomTreeGenerator.cs
- DefaultAsyncDataDispatcher.cs
- InvokeGenerator.cs
- MatrixValueSerializer.cs
- RedirectionProxy.cs
- DateTimeOffsetConverter.cs
- HttpCacheVary.cs
- _AutoWebProxyScriptEngine.cs