Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / HtmlTextBoxAdapter.cs / 1305376 / HtmlTextBoxAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Security.Permissions; using System.Globalization; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource #else namespace System.Web.UI.MobileControls.Adapters #endif { /* * HtmlTextBoxAdapter 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 HtmlTextBoxAdapter : HtmlControlAdapter { 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(HtmlMobileTextWriter writer) { writer.EnterLayout(Style); writer.WriteBeginTag("input"); writer.WriteAttribute("name", GetRenderName()); if ((Control.Text == null || Control.Text.Length > 0) && !Control.Password) { writer.Write(" value=\""); writer.WriteText(Control.Text, true); writer.Write("\""); } if (Control.Size > 0) { writer.WriteAttribute("size", Control.Size.ToString(CultureInfo.InvariantCulture)); } if (Control.MaxLength > 0) { writer.WriteAttribute("maxlength", Control.MaxLength.ToString(CultureInfo.InvariantCulture)); } if (Control.Password) { writer.WriteAttribute("type", "password"); } AddAttributes(writer); writer.Write("/>"); writer.ExitLayout(Style, Control.BreakAfter); writer.InputWritten = true; } internal virtual String GetRenderName() { String renderName; if(Device.RequiresAttributeColonSubstitution) { renderName = Control.UniqueID.Replace(':', ','); } else { renderName = Control.UniqueID; } return renderName; } /// protected override void RenderAsHiddenInputField(HtmlMobileTextWriter writer) { // 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)) { writer.WriteHiddenField(Control.UniqueID, Control.Text); } } 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.Security.Permissions; using System.Globalization; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource #else namespace System.Web.UI.MobileControls.Adapters #endif { /* * HtmlTextBoxAdapter 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 HtmlTextBoxAdapter : HtmlControlAdapter { 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(HtmlMobileTextWriter writer) { writer.EnterLayout(Style); writer.WriteBeginTag("input"); writer.WriteAttribute("name", GetRenderName()); if ((Control.Text == null || Control.Text.Length > 0) && !Control.Password) { writer.Write(" value=\""); writer.WriteText(Control.Text, true); writer.Write("\""); } if (Control.Size > 0) { writer.WriteAttribute("size", Control.Size.ToString(CultureInfo.InvariantCulture)); } if (Control.MaxLength > 0) { writer.WriteAttribute("maxlength", Control.MaxLength.ToString(CultureInfo.InvariantCulture)); } if (Control.Password) { writer.WriteAttribute("type", "password"); } AddAttributes(writer); writer.Write("/>"); writer.ExitLayout(Style, Control.BreakAfter); writer.InputWritten = true; } internal virtual String GetRenderName() { String renderName; if(Device.RequiresAttributeColonSubstitution) { renderName = Control.UniqueID.Replace(':', ','); } else { renderName = Control.UniqueID; } return renderName; } /// protected override void RenderAsHiddenInputField(HtmlMobileTextWriter writer) { // 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)) { writer.WriteHiddenField(Control.UniqueID, Control.Text); } } 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
- TextBoxRenderer.cs
- Style.cs
- ActivityPropertyReference.cs
- XmlNamespaceMapping.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- HttpContext.cs
- AppSecurityManager.cs
- SQLDateTimeStorage.cs
- NavigationWindowAutomationPeer.cs
- StringArrayConverter.cs
- PrivilegedConfigurationManager.cs
- Enum.cs
- PrimitiveXmlSerializers.cs
- TemplateControlCodeDomTreeGenerator.cs
- Translator.cs
- LinqDataSourceStatusEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- TransformerConfigurationWizardBase.cs
- WebPartCatalogAddVerb.cs
- AdCreatedEventArgs.cs
- xdrvalidator.cs
- XmlNodeComparer.cs
- SQLUtility.cs
- ConcurrentBag.cs
- Win32SafeHandles.cs
- UpWmlPageAdapter.cs
- DataDocumentXPathNavigator.cs
- LinqDataSource.cs
- StrongName.cs
- XMLUtil.cs
- sqlcontext.cs
- NativeMethods.cs
- GraphicsState.cs
- HyperLink.cs
- ScriptIgnoreAttribute.cs
- ClientConfigPaths.cs
- JsonFormatReaderGenerator.cs
- SqlInternalConnectionSmi.cs
- Group.cs
- AutoScrollHelper.cs
- InheritanceUI.cs
- WebColorConverter.cs
- GC.cs
- NetworkInformationPermission.cs
- DataAccessor.cs
- COM2PictureConverter.cs
- CurrencyWrapper.cs
- FileEnumerator.cs
- SafeProcessHandle.cs
- InstanceOwnerQueryResult.cs
- ColumnCollection.cs
- X509IssuerSerialKeyIdentifierClause.cs
- EntitySqlQueryCacheEntry.cs
- ShaderEffect.cs
- SHA256.cs
- WithParamAction.cs
- NonParentingControl.cs
- DrawingDrawingContext.cs
- Geometry.cs
- ConfigurationManagerInternalFactory.cs
- QueryGeneratorBase.cs
- DialogWindow.cs
- SimpleExpression.cs
- CursorConverter.cs
- MSAAWinEventWrap.cs
- MemberRelationshipService.cs
- FixedBufferAttribute.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- StylusButtonEventArgs.cs
- MetadataConversionError.cs
- DataPagerFieldCommandEventArgs.cs
- MbpInfo.cs
- AQNBuilder.cs
- DesignerSerializationManager.cs
- ReceiveActivityDesigner.cs
- WebAdminConfigurationHelper.cs
- TextRangeBase.cs
- BitStream.cs
- SqlCaseSimplifier.cs
- TranslateTransform3D.cs
- DataGridViewRowCancelEventArgs.cs
- ToolStripDesignerAvailabilityAttribute.cs
- BufferedGraphics.cs
- EventManager.cs
- TypeConverterHelper.cs
- Attributes.cs
- ReadOnlyMetadataCollection.cs
- GenericsInstances.cs
- xamlnodes.cs
- Int16AnimationUsingKeyFrames.cs
- CellTreeNode.cs
- MetadataProperty.cs
- QilLoop.cs
- DocumentGridPage.cs
- UpDownBase.cs
- ColorBlend.cs
- ValueTypeFixupInfo.cs
- x509store.cs
- EndpointConfigContainer.cs
- LayoutEditorPart.cs