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
- ResourceManager.cs
- ValidationSummary.cs
- XmlAnyElementAttribute.cs
- Menu.cs
- IssuedTokenClientCredential.cs
- AnnotationDocumentPaginator.cs
- Dictionary.cs
- CallId.cs
- WebConfigurationFileMap.cs
- EmptyControlCollection.cs
- ConstNode.cs
- Win32MouseDevice.cs
- CounterSet.cs
- WebPartConnectionsConfigureVerb.cs
- DocumentPageViewAutomationPeer.cs
- DataErrorValidationRule.cs
- FrameSecurityDescriptor.cs
- relpropertyhelper.cs
- MaskedTextProvider.cs
- filewebresponse.cs
- Renderer.cs
- TextCompositionManager.cs
- SinglePageViewer.cs
- DesignerActionListCollection.cs
- DbConnectionPoolGroup.cs
- DataKeyCollection.cs
- BindingsCollection.cs
- IsolatedStorageFileStream.cs
- MatrixIndependentAnimationStorage.cs
- PowerStatus.cs
- Operator.cs
- MemberNameValidator.cs
- ActivationArguments.cs
- DefaultBinder.cs
- StronglyTypedResourceBuilder.cs
- AmbientProperties.cs
- SimpleTextLine.cs
- SpanIndex.cs
- IgnoreFileBuildProvider.cs
- AppDomainFactory.cs
- Normalization.cs
- TransformGroup.cs
- RegisteredDisposeScript.cs
- Int16Animation.cs
- ComIntegrationManifestGenerator.cs
- SelectionRangeConverter.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- SqlFormatter.cs
- HatchBrush.cs
- ScheduleChanges.cs
- InputScopeConverter.cs
- WebBrowserNavigatedEventHandler.cs
- LineGeometry.cs
- LogLogRecord.cs
- FrameDimension.cs
- PopOutPanel.cs
- _RequestCacheProtocol.cs
- TrustLevelCollection.cs
- FontInfo.cs
- UnknownWrapper.cs
- HttpResponseInternalWrapper.cs
- Roles.cs
- PrinterSettings.cs
- ComboBox.cs
- SimpleTypeResolver.cs
- NativeMethods.cs
- PlatformNotSupportedException.cs
- FullTrustAssemblyCollection.cs
- DesignerDataTable.cs
- RegexMatch.cs
- ServiceSecurityAuditElement.cs
- WindowsFormsHostAutomationPeer.cs
- QuaternionValueSerializer.cs
- WebPartManager.cs
- DataGridViewCellConverter.cs
- CodePageUtils.cs
- ContextInformation.cs
- FactoryId.cs
- SHA1Managed.cs
- SortedDictionary.cs
- JournalEntry.cs
- CounterSetInstance.cs
- PersonalizationAdministration.cs
- CryptoConfig.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- RegexGroupCollection.cs
- GeneratedView.cs
- MetabaseSettings.cs
- Debugger.cs
- EmptyImpersonationContext.cs
- CheckBoxStandardAdapter.cs
- LessThan.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- CompensatableSequenceActivity.cs
- XsdCachingReader.cs
- TTSEngineProxy.cs
- SuspendDesigner.cs
- DataListCommandEventArgs.cs
- SqlNotificationRequest.cs
- ColorConverter.cs