| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1018 人关注过本帖
标题:无刷新检测用户名
只看楼主 加入收藏
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
结帖率:100%
收藏
 问题点数:0 回复次数:4 
无刷新检测用户名
无刷新检测用户名功能为:当用户输入用户名,用户名的文本框失去焦点后就检测用户名是否重复,不用再点击一个按钮才能检测前台代码:
以下是引用片段:
这个是我在网上找的   我不知道怎吗用   哪位高手给注释一下    详细的
谢谢了



<script type="text/JavaScript" language="javascript">
        var XMLHttp = null;
        function CheckUser()
        {
            try
            {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(err1)
            {
                try
                {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(err2)
                {
                    xmlHttp = new XMLHttpRequest();
                }
            }
            var Text1 = document.getElementById("Text1");
            var url = "chkuser.aspx?User=" + Text1.value;
            xmlHttp.open("GET",url,true);
            xmlHttp.onreadystatechange = OnHandler;
            xmlHttp.send(null);
        }
        function OnHandler()
        {
            if(xmlHttp.readyState == 4)
            {
                var isValid = xmlHttp.responseText;
                var exists = document.getElementById("exsits");
                exists.innerHTML = isValid.substring(0,4);
            }
        }
</script>
<input id="Text1" type="text"  /><label d="exsits"></label><br />
  然后建一个chkuser.aspx,其后台代码改为:
以下是引用片段:
protected void Page_Load(object sender, EventArgs e)
    {
        string user = this.Request.QueryString["User"];
        if (UserExist(user))
        {
            Response.Write("存在");
        }
        else
        {
            Response.Write("不存在");
        }
    }
    private bool UserExist(string username)
    {
        ClassLib.Employee emp = new ClassLib.Employee();
        return emp.EmpNameExist(username);
    }
搜索更多相关主题的帖子: 用户名 检测 
2008-06-26 17:55
tomtory
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:705
专家分:0
注 册:2008-6-12
收藏
得分:0 
不知道你解决没有
给你说种方法的嘛

首先 在操作页的类里面继承一个类ICallbackEventHandler
这样继承的哈
public class SelectField : System.Web.UI.Page, ICallbackEventHandler

继承后 需要加上两个方法
string returnValue = "";
        public string GetCallbackResult()
        {
            return returnValue;
        }

        public void RaiseCallbackEvent(string eventArgument)
        {
            string sqlString = eventArgument;
            returnValue = GetFields(sqlString);
        }

就是这两个方法
其中  在RaiseCallbackEvent中的方法里面调用了一个GetFields()方法
这个方法就是自己写的要出来代码的方法  你在用的时就就是查询用户是否存在的那个方法

然后在Page_Load里面加上
            ClientScriptManager csm = objPage.ClientScript;
            string GetLevelHtmlClient = csm.GetCallbackEventReference(this, "sqlString", "GetLevelHtmlClient", "");
            string GetLevelHtmlServer = "function GetLevelHtmlServer (sqlString) { " + GetLevelHtmlClient + "; }";
            csm.RegisterClientScriptBlock(objPage.GetType(), "Init", GetLevelHtmlServer, true);




在页面上加入方法GetLevelHtmlClient(sqlString)
这个方法是来接受你在后台处理完后返回的值
你在此方法中根据返回值来确定用户是否存在

然后你要调用的方法是GetLevelHtmlServer(sqlString)
是次方是在Page_Load里面创建的一个JS方法

[[it] 本帖最后由 tomtory 于 2008-6-27 14:05 编辑 [/it]]
2008-06-27 13:56
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
牛啊   你是做什吗的  好想认识你  加我QQ或MSN好吗
QQ308329547
群和MSN在我的回复下面有

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-06-27 16:27
tomtory
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:705
专家分:0
注 册:2008-6-12
收藏
得分:0 
我啊  网站开发的  呵呵  我们现在暂时不能上QQ的  要等项目完成以后才能上得    没办法

不过你可以把我加起的嘛  呵呵  这是我的   9062656

MSN的我好久都没有上了  都要忘了  等找回来了在说的嘛 呵呵
2008-06-27 16:34
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
牛啊
我也是做网站后台的
但我是新手
所以遇到很多问题   以后还望多多指点

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-06-28 08:59
快速回复:无刷新检测用户名
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041554 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved