Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / WmlTextBoxAdapter.cs / 1305376 / WmlTextBoxAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Globalization; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.MobileControls; using System.Security.Permissions; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource #else namespace System.Web.UI.MobileControls.Adapters #endif { /* * WmlTextBoxAdapter class. * * Copyright (c) 2000 Microsoft Corporation */ ///[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] [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.")] public class WmlTextBoxAdapter : WmlControlAdapter { private String _staticValue; /// protected new TextBox Control { get { return (TextBox)base.Control; } } /// public override void OnInit(EventArgs e) { _staticValue = Control.Text; base.OnInit(e); } /// public override void Render(WmlMobileTextWriter writer) { String value = Control.Text; bool requiresRandomID = RequiresRandomID(); writer.EnterLayout(Style); if (Control.Password) { value = String.Empty; } if (!PageAdapter.RequiresValueAttributeInInputTag()) { writer.AddFormVariable(Control.ClientID, value, requiresRandomID); } else { // This is to make sure an id is determined in the first // pass, and this is done in AddFormVariable as well. writer.MapClientIDToShortName(Control.ClientID, requiresRandomID); } String format = ((IAttributeAccessor)Control).GetAttribute("wmlFormat"); if (String.IsNullOrEmpty(format)) { if (Control.Numeric) { format = "*N"; } else { format = null; } } writer.RenderTextBox(Control.ClientID, value, format, Control.Title, Control.Password, Control.Size, Control.MaxLength, requiresRandomID, Control.BreakAfter); writer.ExitLayout(Style); } private bool RequiresRandomID() { String randomID = ((IAttributeAccessor)Control).GetAttribute("useRandomID"); if (randomID != null) { return String.Compare(randomID, "true", StringComparison.OrdinalIgnoreCase) == 0; } else { return Control.Password; } } /// protected override String GetPostBackValue() { // Optimization - if viewstate is enabled for this control, and the // postback returns to this page, we just let it do the trick. if (Control.Form.Action.Length > 0 || (!IsViewStateEnabled() && Control.Text != _staticValue)) { return Control.Text; } else { return null; } } private bool IsViewStateEnabled() { Control ctl = Control; while (ctl != null) { if (!ctl.EnableViewState) { return false; } ctl = ctl.Parent; } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Globalization; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.MobileControls; using System.Security.Permissions; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource #else namespace System.Web.UI.MobileControls.Adapters #endif { /* * WmlTextBoxAdapter class. * * Copyright (c) 2000 Microsoft Corporation */ ///[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] [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.")] public class WmlTextBoxAdapter : WmlControlAdapter { private String _staticValue; /// protected new TextBox Control { get { return (TextBox)base.Control; } } /// public override void OnInit(EventArgs e) { _staticValue = Control.Text; base.OnInit(e); } /// public override void Render(WmlMobileTextWriter writer) { String value = Control.Text; bool requiresRandomID = RequiresRandomID(); writer.EnterLayout(Style); if (Control.Password) { value = String.Empty; } if (!PageAdapter.RequiresValueAttributeInInputTag()) { writer.AddFormVariable(Control.ClientID, value, requiresRandomID); } else { // This is to make sure an id is determined in the first // pass, and this is done in AddFormVariable as well. writer.MapClientIDToShortName(Control.ClientID, requiresRandomID); } String format = ((IAttributeAccessor)Control).GetAttribute("wmlFormat"); if (String.IsNullOrEmpty(format)) { if (Control.Numeric) { format = "*N"; } else { format = null; } } writer.RenderTextBox(Control.ClientID, value, format, Control.Title, Control.Password, Control.Size, Control.MaxLength, requiresRandomID, Control.BreakAfter); writer.ExitLayout(Style); } private bool RequiresRandomID() { String randomID = ((IAttributeAccessor)Control).GetAttribute("useRandomID"); if (randomID != null) { return String.Compare(randomID, "true", StringComparison.OrdinalIgnoreCase) == 0; } else { return Control.Password; } } /// protected override String GetPostBackValue() { // Optimization - if viewstate is enabled for this control, and the // postback returns to this page, we just let it do the trick. if (Control.Form.Action.Length > 0 || (!IsViewStateEnabled() && Control.Text != _staticValue)) { return Control.Text; } else { return null; } } private bool IsViewStateEnabled() { Control ctl = Control; while (ctl != null) { if (!ctl.EnableViewState) { return false; } ctl = ctl.Parent; } return true; } } } // 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
- ContextQuery.cs
- Stream.cs
- HTTPNotFoundHandler.cs
- Span.cs
- ApplicationServiceHelper.cs
- DrawingContextWalker.cs
- TextRangeAdaptor.cs
- AttributeCollection.cs
- BrowserDefinitionCollection.cs
- XmlSerializerVersionAttribute.cs
- VisualBasicReference.cs
- IisTraceWebEventProvider.cs
- CommandValueSerializer.cs
- BaseTemplateBuildProvider.cs
- XmlExpressionDumper.cs
- PageResolution.cs
- Point3DCollection.cs
- ContentElementAutomationPeer.cs
- DataGridColumnCollection.cs
- EventProviderTraceListener.cs
- IndentTextWriter.cs
- CssStyleCollection.cs
- SerializationInfo.cs
- TimeSpanOrInfiniteConverter.cs
- CompiledRegexRunnerFactory.cs
- MarkupWriter.cs
- ListViewUpdatedEventArgs.cs
- XmlImplementation.cs
- DeploymentExceptionMapper.cs
- RenderTargetBitmap.cs
- SHA384CryptoServiceProvider.cs
- NullExtension.cs
- DispatcherSynchronizationContext.cs
- BinaryFormatter.cs
- GridItemPattern.cs
- WorkflowDispatchContext.cs
- CountAggregationOperator.cs
- SqlServices.cs
- TextRunCache.cs
- WinEventWrap.cs
- OdbcConnectionPoolProviderInfo.cs
- DynamicEntity.cs
- ReadonlyMessageFilter.cs
- SecurityTokenProvider.cs
- GlyphsSerializer.cs
- XmlDomTextWriter.cs
- DataServiceQueryProvider.cs
- Size3D.cs
- CompilationSection.cs
- DataControlReferenceCollection.cs
- BitmapCacheBrush.cs
- FlowDocumentReaderAutomationPeer.cs
- StateWorkerRequest.cs
- MetabaseServerConfig.cs
- StringUtil.cs
- RuntimeConfig.cs
- SqlDuplicator.cs
- WebPartAddingEventArgs.cs
- DoubleAnimation.cs
- CodeAttachEventStatement.cs
- MessageEncoder.cs
- IpcServerChannel.cs
- NullRuntimeConfig.cs
- NativeRecognizer.cs
- SQLCharsStorage.cs
- AutomationProperties.cs
- DataServiceConfiguration.cs
- FontStyles.cs
- CompositionTarget.cs
- GroupBoxAutomationPeer.cs
- CannotUnloadAppDomainException.cs
- NGCPageContentCollectionSerializerAsync.cs
- TogglePattern.cs
- WebPartAuthorizationEventArgs.cs
- DataGridColumnCollection.cs
- XmlException.cs
- panel.cs
- MessageDirection.cs
- OverflowException.cs
- Focus.cs
- SymmetricKey.cs
- ToolZone.cs
- DataTableTypeConverter.cs
- ClaimTypes.cs
- TickBar.cs
- UpdateManifestForBrowserApplication.cs
- BrowsableAttribute.cs
- ClientRolePrincipal.cs
- EventDescriptor.cs
- FrameworkElementFactoryMarkupObject.cs
- IsolatedStorageFile.cs
- DocumentXmlWriter.cs
- BinaryFormatter.cs
- CodeParameterDeclarationExpression.cs
- RuleSettings.cs
- RestHandlerFactory.cs
- OrderByLifter.cs
- UInt32.cs
- HttpCacheVaryByContentEncodings.cs
- TreeView.cs