如题:
刚刚才开始学习ASP.net,开发环境vs2008,用的是SQL SERVER2005
如何在.net中实现输入第二个字符时,前一个字符才变成*号。
貌似VS中没有提供这样的控件,如何实现呢。
求大神指导,最好附上代码……

解决方案 »

  1.   

    那个功能是当前字符是可见的,有输入的时候,之前的字符变为*跟第几个无关。js 操作dom ,就是js操作那个文本框  有输入的时候触发
      

  2.   

    我这个方法也不一定好,能否这样解决:
    设置一个定时器,检测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秒了。
      

  3.   

    我也听说了JS中有这个控件,但是我是用ASP写的。要在这个环境下加入JS?
      

  4.   

    。楼主是不是觉得你用的是asp.net,然后html也需要加入?
      

  5.   

    非常的简单,无非就是文本框事件里面,将用户输入的字符用*号replace掉,当然,必须要有一个hidden来保存用户输入的字符串
    你去看一下163邮箱的登录框,他就是这么来处理的