问题描述
如题:刚刚才开始学习ASP.net,开发环境vs2008,用的是SQLSERVER2005如何在.net中实现输入第二个字符时,前一个字符才变成*号。貌似VS中没有提供这样的控件,如何实现呢。求大神指导,最好附上代码……
解决方案
解决方案二:
把当前字符之前的都替换成*
解决方案三:
嗯?如何实现?引用1楼sandy945的回复:
把当前字符之前的都替换成*
解决方案四:
你是一点都不自己动手、不提出任何设计方案吗?
解决方案五:
没有,我已经尝试做了个模板,但是针对这个新功能实现一点想法也没。无从下手的感觉。引用3楼sp1234的回复:
你是一点都不自己动手、不提出任何设计方案吗?
解决方案六:
那个功能是当前字符是可见的,有输入的时候,之前的字符变为*跟第几个无关。js操作dom,就是js操作那个文本框有输入的时候触发
解决方案七:
我这个方法也不一定好,能否这样解决:设置一个定时器,检测Edit控件中的文本。1.如果有新的字符输入,则左边的所有字符设置为星号。2.如果没有新的字符输入,则判断是否过了一秒;如果过了一秒,字符串设置为星号。按照这个算法写,应该可以实现。有时间的话,我会用源码证明。引用41楼benzkuai的回复:楼主,可否问你一个问题。如下:大家都知道,CEdit有两种风格:明文输入与密文输入(如“*”)。例如:输入123456.设为明文时:输入就是123456.在编辑框中就会看到123456.设为密文时:输入是就只看到******.现在的问题是:输入时要如下的效果:当输入第一个“1”时,“1”会以明文方式出现1秒钟,1秒钟后,变成“*”。此时编辑框显示过程:1->*再输入第二个“2”时,“2”也会以明文方式出现1秒钟,1秒钟后,变成“*”。此时编辑框显示过程:*2->**再输入第三个“3”时,“3”也会以明文方式出现1秒钟,1秒钟后,变成“*”。此时编辑框显示过程:**3->***如果连续输入时,则直接将前面的变成"*",不用等1秒了。
解决方案八:
引用5楼sandy945的回复:
那个功能是当前字符是可见的,有输入的时候,之前的字符变为*跟第几个无关。js操作dom,就是js操作那个文本框有输入的时候触发
我也听说了JS中有这个控件,但是我是用ASP写的。要在这个环境下加入JS?
解决方案九:
你应该先了解一下什么是js,以及它能做什么
解决方案十:
。。。。。。。楼主是不是觉得你用的是asp.net,然后html也需要加入?
解决方案十一:
非常的简单,无非就是文本框事件里面,将用户输入的字符用*号replace掉,当然,必须要有一个hidden来保存用户输入的字符串你去看一下163邮箱的登录框,他就是这么来处理的