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
- SectionInformation.cs
- VScrollBar.cs
- PingOptions.cs
- Shared.cs
- Region.cs
- cookiecontainer.cs
- RelationshipConstraintValidator.cs
- UserControlCodeDomTreeGenerator.cs
- ClassDataContract.cs
- BuiltInExpr.cs
- ImageSourceValueSerializer.cs
- AspNetRouteServiceHttpHandler.cs
- UnitySerializationHolder.cs
- WebServiceErrorEvent.cs
- ParseNumbers.cs
- Geometry.cs
- XmlSchemaAttributeGroupRef.cs
- ControlCachePolicy.cs
- EntitySqlQueryCacheKey.cs
- RectIndependentAnimationStorage.cs
- EditorPartCollection.cs
- ConnectionInterfaceCollection.cs
- DirectoryNotFoundException.cs
- ListControlConvertEventArgs.cs
- DesignerTransaction.cs
- SwitchAttribute.cs
- NodeFunctions.cs
- LayoutManager.cs
- CodeConditionStatement.cs
- DataRelationPropertyDescriptor.cs
- IssuanceLicense.cs
- Transform.cs
- RolePrincipal.cs
- StorageInfo.cs
- DbDataReader.cs
- TablePattern.cs
- metrodevice.cs
- OracleColumn.cs
- localization.cs
- TextDataBindingHandler.cs
- TextRunCacheImp.cs
- SchemaImporterExtensionElement.cs
- InputBindingCollection.cs
- RepeaterItemEventArgs.cs
- DoubleLinkListEnumerator.cs
- InvalidOleVariantTypeException.cs
- DBDataPermissionAttribute.cs
- FileLoadException.cs
- WebCategoryAttribute.cs
- GenericsNotImplementedException.cs
- MexHttpsBindingCollectionElement.cs
- SmiTypedGetterSetter.cs
- ProtocolsConfigurationEntry.cs
- PartialArray.cs
- RelationshipFixer.cs
- DataView.cs
- Timer.cs
- DbConnectionHelper.cs
- EntryPointNotFoundException.cs
- SessionStateContainer.cs
- GraphicsPathIterator.cs
- Utils.cs
- QueryAccessibilityHelpEvent.cs
- WorkflowTraceTransfer.cs
- SystemParameters.cs
- XPathArrayIterator.cs
- Convert.cs
- Padding.cs
- XPathBinder.cs
- DragDeltaEventArgs.cs
- SqlTypesSchemaImporter.cs
- EncoderBestFitFallback.cs
- WebPartConnectionsDisconnectVerb.cs
- SpellCheck.cs
- AttachInfo.cs
- EraserBehavior.cs
- RoutedUICommand.cs
- ACE.cs
- EmptyEnumerator.cs
- DataGridPagerStyle.cs
- MatrixTransform.cs
- WindowsScroll.cs
- ComponentCollection.cs
- JoinTreeNode.cs
- ResourceSet.cs
- VarRefManager.cs
- XslAstAnalyzer.cs
- MatrixConverter.cs
- DoneReceivingAsyncResult.cs
- SendKeys.cs
- SQLSingleStorage.cs
- SqlDependencyListener.cs
- GetPageNumberCompletedEventArgs.cs
- ArgIterator.cs
- ApplicationServiceManager.cs
- TextSelectionHighlightLayer.cs
- XmlWrappingWriter.cs
- PolyBezierSegmentFigureLogic.cs
- GridViewRowEventArgs.cs
- StrongNameKeyPair.cs