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
- HtmlSelect.cs
- DataKey.cs
- MimeTypePropertyAttribute.cs
- ListViewTableCell.cs
- PropertyChangingEventArgs.cs
- GeneralTransformCollection.cs
- SystemResourceKey.cs
- BooleanAnimationBase.cs
- WizardPanel.cs
- SubMenuStyleCollection.cs
- NullRuntimeConfig.cs
- TextTreeExtractElementUndoUnit.cs
- ListBox.cs
- OdbcConnectionOpen.cs
- EnumerableRowCollectionExtensions.cs
- DependencyObject.cs
- GeometryGroup.cs
- DataGridToolTip.cs
- CaseStatementSlot.cs
- DiffuseMaterial.cs
- CompositeFontFamily.cs
- XmlWrappingWriter.cs
- SimplePropertyEntry.cs
- XsltConvert.cs
- FlowLayoutPanel.cs
- TypeExtensionConverter.cs
- ColorConvertedBitmap.cs
- FormView.cs
- EntitySqlQueryCacheEntry.cs
- OptimalBreakSession.cs
- GeneralTransform3DTo2D.cs
- RectangleHotSpot.cs
- SqlProcedureAttribute.cs
- OleDbRowUpdatingEvent.cs
- MenuTracker.cs
- TextParagraphCache.cs
- ManifestResourceInfo.cs
- VerticalAlignConverter.cs
- CaseInsensitiveHashCodeProvider.cs
- Error.cs
- CodeAttributeArgumentCollection.cs
- ExtendLockCommand.cs
- OrderedHashRepartitionEnumerator.cs
- DecoderExceptionFallback.cs
- WebPartDisplayModeCancelEventArgs.cs
- CancellationHandlerDesigner.cs
- StatusBarItem.cs
- MaskInputRejectedEventArgs.cs
- TableLayoutRowStyleCollection.cs
- Visual.cs
- ServiceHostingEnvironment.cs
- RegistrationServices.cs
- Listbox.cs
- InstanceLockException.cs
- RegexRunnerFactory.cs
- MyContact.cs
- TextSyndicationContent.cs
- Image.cs
- AdornerLayer.cs
- StreamGeometryContext.cs
- WebPartConnectionCollection.cs
- Vector3DCollectionConverter.cs
- SymbolEqualComparer.cs
- TreeNodeCollectionEditor.cs
- DataExpression.cs
- DetailsViewInsertEventArgs.cs
- UpdatePanelTriggerCollection.cs
- DWriteFactory.cs
- TcpStreams.cs
- ToolStripButton.cs
- ConfigXmlReader.cs
- FormViewDeleteEventArgs.cs
- DefaultPrintController.cs
- DetailsViewPageEventArgs.cs
- TCPListener.cs
- _Events.cs
- FullTextBreakpoint.cs
- ListViewItemEventArgs.cs
- SmiContext.cs
- StaticExtension.cs
- CodeGenerator.cs
- ExpressionBindingCollection.cs
- ContentOperations.cs
- ViewStateException.cs
- DictionaryCustomTypeDescriptor.cs
- XmlSchemaObject.cs
- ActivityValidator.cs
- ServiceOperationHelpers.cs
- Activity.cs
- ByteStack.cs
- GifBitmapDecoder.cs
- JavaScriptString.cs
- SqlDataSourceQueryConverter.cs
- DataObjectFieldAttribute.cs
- Mapping.cs
- SqlInternalConnectionTds.cs
- AlternationConverter.cs
- InvalidProgramException.cs
- NameTable.cs
- InfoCardRSACryptoProvider.cs