ChtmlTextBoxAdapter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / ChtmlTextBoxAdapter.cs / 1305376 / ChtmlTextBoxAdapter.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System.Security.Permissions; 
 
#if COMPILING_FOR_SHIPPED_SOURCE
namespace System.Web.UI.MobileControls.ShippedAdapterSource 
#else
namespace System.Web.UI.MobileControls.Adapters
#endif
 
{
    /* 
     * ChtmlTextBoxAdapter 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 ChtmlTextBoxAdapter : HtmlTextBoxAdapter 
    { 
        private static Random _random = new Random();
 
        /// 
        protected override void AddAttributes(HtmlMobileTextWriter writer)
        {
            if (Control.Numeric) 
            {
                if (Device.SupportsInputIStyle) 
                { 
                    // The default input mode is always numeric if the
                    // type is password. 
                    if (!Control.Password)
                    {
                        writer.WriteAttribute("istyle", "4");
                    } 
                }
                else if (Device.SupportsInputMode) 
                { 
                    writer.WriteAttribute("mode", "numeric");
                } 
            }

            AddAccesskeyAttribute(writer);
            AddJPhoneMultiMediaAttributes(writer); 
        }
 
        ///  
        public override bool RequiresFormTag
        { 
            get
            {
                return true;
            } 
        }
 
        private String GetRandomID(int length) 
        {
            Byte[] randomBytes = new Byte[length]; 
            _random.NextBytes(randomBytes);

            char[] randomChars = new char[length];
            for (int i = 0; i < length; i++) 
            {
                randomChars[i] = (char)((((int)randomBytes[i]) % 26) + 'a'); 
            } 

            return new String(randomChars); 
        }

        internal override String GetRenderName()
        { 
            String renderName = base.GetRenderName();
 
            if (Device.RequiresUniqueHtmlInputNames) 
            {
                renderName += Constants.SelectionListSpecialCharacter + GetRandomID(4); 
            }

            return renderName;
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System.Security.Permissions; 
 
#if COMPILING_FOR_SHIPPED_SOURCE
namespace System.Web.UI.MobileControls.ShippedAdapterSource 
#else
namespace System.Web.UI.MobileControls.Adapters
#endif
 
{
    /* 
     * ChtmlTextBoxAdapter 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 ChtmlTextBoxAdapter : HtmlTextBoxAdapter 
    { 
        private static Random _random = new Random();
 
        /// 
        protected override void AddAttributes(HtmlMobileTextWriter writer)
        {
            if (Control.Numeric) 
            {
                if (Device.SupportsInputIStyle) 
                { 
                    // The default input mode is always numeric if the
                    // type is password. 
                    if (!Control.Password)
                    {
                        writer.WriteAttribute("istyle", "4");
                    } 
                }
                else if (Device.SupportsInputMode) 
                { 
                    writer.WriteAttribute("mode", "numeric");
                } 
            }

            AddAccesskeyAttribute(writer);
            AddJPhoneMultiMediaAttributes(writer); 
        }
 
        ///  
        public override bool RequiresFormTag
        { 
            get
            {
                return true;
            } 
        }
 
        private String GetRandomID(int length) 
        {
            Byte[] randomBytes = new Byte[length]; 
            _random.NextBytes(randomBytes);

            char[] randomChars = new char[length];
            for (int i = 0; i < length; i++) 
            {
                randomChars[i] = (char)((((int)randomBytes[i]) % 26) + 'a'); 
            } 

            return new String(randomChars); 
        }

        internal override String GetRenderName()
        { 
            String renderName = base.GetRenderName();
 
            if (Device.RequiresUniqueHtmlInputNames) 
            {
                renderName += Constants.SelectionListSpecialCharacter + GetRandomID(4); 
            }

            return renderName;
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK