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
- BaseTemplateParser.cs
- DbDataSourceEnumerator.cs
- WindowsGrip.cs
- DownloadProgressEventArgs.cs
- HwndHostAutomationPeer.cs
- DateTimeFormat.cs
- ThumbAutomationPeer.cs
- ValidationErrorCollection.cs
- WorkflowMarkupSerializer.cs
- NavigateEvent.cs
- AddInControllerImpl.cs
- VideoDrawing.cs
- FactoryRecord.cs
- CustomAttribute.cs
- AttributeData.cs
- KnownBoxes.cs
- BuildManager.cs
- ReferenceSchema.cs
- ValidatedControlConverter.cs
- Console.cs
- MemoryStream.cs
- XmlEnumAttribute.cs
- ASCIIEncoding.cs
- TrackingProfileDeserializationException.cs
- XmlIterators.cs
- ProcessThreadCollection.cs
- SourceFileBuildProvider.cs
- TemplateBindingExpressionConverter.cs
- Query.cs
- MetadataProperty.cs
- HandlerWithFactory.cs
- hwndwrapper.cs
- EmptyEnumerable.cs
- RealProxy.cs
- BatchParser.cs
- DataGridCellAutomationPeer.cs
- XmlAttributeAttribute.cs
- LayoutEditorPart.cs
- OleDbInfoMessageEvent.cs
- CacheAxisQuery.cs
- DBDataPermissionAttribute.cs
- TypedTableBase.cs
- RSAPKCS1SignatureFormatter.cs
- mongolianshape.cs
- HijriCalendar.cs
- ServiceDeploymentInfo.cs
- CodeBinaryOperatorExpression.cs
- DSASignatureDeformatter.cs
- SystemException.cs
- LinqDataSourceContextData.cs
- SiteMapNodeItemEventArgs.cs
- ThousandthOfEmRealDoubles.cs
- FtpWebRequest.cs
- WorkflowViewStateService.cs
- WrappedDispatcherException.cs
- RequestStatusBarUpdateEventArgs.cs
- graph.cs
- HttpResponse.cs
- ProviderConnectionPoint.cs
- PropertyItem.cs
- SchemaElementLookUpTableEnumerator.cs
- GlyphInfoList.cs
- BindingOperations.cs
- MenuItem.cs
- ScaleTransform3D.cs
- CalendarDay.cs
- X509Utils.cs
- IdentityManager.cs
- ToolstripProfessionalRenderer.cs
- DataContractSerializer.cs
- HtmlMeta.cs
- ConfigurationValidatorBase.cs
- TextPattern.cs
- CollectionChange.cs
- QilSortKey.cs
- OdbcDataReader.cs
- typedescriptorpermissionattribute.cs
- IPPacketInformation.cs
- NotImplementedException.cs
- TypeUsageBuilder.cs
- AdditionalEntityFunctions.cs
- DataColumnMapping.cs
- ListViewGroupItemCollection.cs
- ConnectionPoint.cs
- EntityClassGenerator.cs
- MaterialGroup.cs
- CompilationUtil.cs
- MulticastOption.cs
- InteropBitmapSource.cs
- FilterException.cs
- ToolboxDataAttribute.cs
- ConnectionManagementElementCollection.cs
- PartialCachingAttribute.cs
- DataListItemEventArgs.cs
- EntityDataSource.cs
- ParameterToken.cs
- QueryParameter.cs
- MetadataProperty.cs
- Rotation3DAnimationBase.cs
- ZipIOExtraFieldZip64Element.cs