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
- RenderCapability.cs
- PropertyRecord.cs
- EnvironmentPermission.cs
- PageTheme.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ValueExpressions.cs
- ISCIIEncoding.cs
- LicenseException.cs
- remotingproxy.cs
- ProfileSection.cs
- DescriptionAttribute.cs
- XmlAggregates.cs
- SuppressedPackageProperties.cs
- HttpCachePolicy.cs
- NavigationFailedEventArgs.cs
- CellParaClient.cs
- HttpFileCollectionBase.cs
- Scripts.cs
- TraceUtils.cs
- CodeExpressionCollection.cs
- TextDecorationCollectionConverter.cs
- HTMLTagNameToTypeMapper.cs
- sqlser.cs
- RequestQueue.cs
- AnnotationResourceCollection.cs
- Console.cs
- PasswordBox.cs
- CorrelationRequestContext.cs
- ProjectionPlan.cs
- ConstructorBuilder.cs
- ReliableOutputSessionChannel.cs
- TerminatingOperationBehavior.cs
- HttpCookie.cs
- WebServiceEnumData.cs
- Interfaces.cs
- InteropAutomationProvider.cs
- EntityDataSourceReferenceGroup.cs
- TreeChangeInfo.cs
- VisualStateManager.cs
- ControlCachePolicy.cs
- CFStream.cs
- ConfigurationException.cs
- ButtonBaseAutomationPeer.cs
- SoapParser.cs
- LambdaExpression.cs
- GeneralTransform.cs
- NTAccount.cs
- Stream.cs
- CodeDirectionExpression.cs
- ContentAlignmentEditor.cs
- RetrieveVirtualItemEventArgs.cs
- Rect3DConverter.cs
- TagNameToTypeMapper.cs
- SchemaEntity.cs
- CustomCategoryAttribute.cs
- AnonymousIdentificationSection.cs
- SwitchElementsCollection.cs
- TemplatingOptionsDialog.cs
- TypeHelper.cs
- Image.cs
- Win32Native.cs
- XmlElementAttributes.cs
- MimeBasePart.cs
- WebPartEditVerb.cs
- ListViewGroup.cs
- EditingMode.cs
- AccessedThroughPropertyAttribute.cs
- Point4DConverter.cs
- EpmCustomContentWriterNodeData.cs
- ServiceHost.cs
- RedistVersionInfo.cs
- CryptoProvider.cs
- ParameterCollectionEditorForm.cs
- XamlPathDataSerializer.cs
- EventLogEntryCollection.cs
- SystemFonts.cs
- Line.cs
- SourceLocationProvider.cs
- DocumentApplicationJournalEntry.cs
- CodeSnippetCompileUnit.cs
- CompilerState.cs
- RuleRef.cs
- TdsRecordBufferSetter.cs
- Panel.cs
- SmtpException.cs
- GestureRecognitionResult.cs
- TableSectionStyle.cs
- AccessKeyManager.cs
- TextBox.cs
- ToolStripItemClickedEventArgs.cs
- ArglessEventHandlerProxy.cs
- ObjectStorage.cs
- GenericQueueSurrogate.cs
- SqlCacheDependencyDatabaseCollection.cs
- FontCacheUtil.cs
- LinkAreaEditor.cs
- ArcSegment.cs
- SpecularMaterial.cs
- ArrayElementGridEntry.cs
- dbenumerator.cs