注册的时候我想判断帐号是不是已经注册过。要有无刷新效果。
因此求助一下。 听过可以用 验证控件实现要如何做?
或者其他的方式都行。
 能否写详细点。
 在线求助
 谢谢各位!

解决方案 »

  1.   

    验证控件只是一个信息提示的表现,无刷新是一个手段,关键是在后台的业务逻辑代码去判断.实现:
    自定义验证控件的验证函数(js)中,用ajax调用服务器的校验证方法,返回成功或失败,
      

  2.   

    callback技术也能实现。
    参考文章:asp.net夜话之五:Page类和回调技术 
    在今天我主要要介绍的有如下知识点:Page类介绍:介绍单页模型和页面、代码分离模型。Page的生命周期:介绍Page类个各个生命周期还有Page生命周期内的一些相关事件。IsPostBack属性:用于判断当前页面是否是响应客户端回发。ClientScriptManager类:用于动态向当前页面注册javascript脚本的类。回调技术(CallBack):通过回调实现在客户端调用服务器端方法而不用提交整个表单。 
    http://blog.csdn.net/zhoufoxcn/archive/2008/09/28/2990318.aspxAjax也能实现。
    参考文章:AjaxPro与服务器端交互过程中如何传值 
    用asp.net开发Ajax有两种主流,一种是微软推出的技术,其中一个最常用的就是UpdatePanel控件,还有一种是AjaxPro技术。 这种技术有着各自的特点。采用微软的技术开发也沿用了微软一贯的简单化、傻瓜化的特点,开发简单Ajax程序几乎不需要了解任何网页脚本知识和XHTML知识,缺点也有一些,通常会带来一些不必要的网络流量(整个UpdatePanel控件内所有的控件内容都会提交),另外在VS2005下经常会出现“***不是已知元素 原因可能是网站中存在编译错误 ”的提示,虽然有治标不治本的办法(见拙作:***不是已知元素 原因可能是网站中存在编译错误中提到的解决办法),但是经常出现这种提示,也够让人心烦的。 而AjaxPro的起点较高,需要开发人员孰知Js脚本知识和XHTML相关知识,因为所有的方法需要你自己编写网页脚本。开发速度相对会较慢一点,调试也会困难一点(JS调试就是麻烦)。 网上有不少讲述怎么使用AjaxPro调用服务器端方法的例子,我大概看了一下,估计只有一个原本,然后被Copy了N遍,所以到处都是,可惜的是那篇文章里没有降到如何把客户端的数据
    http://blog.csdn.net/zhoufoxcn/archive/2008/01/05/2026908.aspx
      

  3.   

    这很简单的,例子应该到处都是,反正是ajax,随便用什么都能实现
      

  4.   

    用Ajax,再做一个验证页面ValidatUser.aspx,起代码为:
    protected void Page_Load(object sender, EventArgs e)
        {
            S_UserManage s_user = new S_UserManage();
            string UserName = Request.QueryString["UserName"];
            if (UserName == string.Empty)
            {
                Response.Write("用户名不能为空!");
            }
            else
            {
                if (s_user.IsSameName(UserName) > 0)
                {
                    Response.Write("该用户名不可用!");
                }
                else Response.Write("该用户名可用!");
            }
        }
    而在该爷面中用Ajax来异步调验证页面:
    <script>
      xmlhttp=false;
       var Reqesturl="ValidatUser.aspx?UserName=";
      function getNames(currentTerm)
          { 
            if(currentTerm.length>0)
            {
                url=Reqesturl+currentTerm;
                getHTTPRequestObject();
            }
            
            if(xmlhttp)
            {
                xmlhttp.open("GET",url,true);
                xmlhttp.onreadystatechange=callback;
                xmlhttp.send(null);
            }
         }
         function callback()
         {
            
            if(xmlhttp.readystate==4)
            {
                if(xmlhttp.status==200)
                { 
                      if(xmlhttp.responseText.length>0)
                      {
                        document.getElementById("div1").innerText=xmlhttp.responseText;
                      }
                }
            }
         }
        function getHTTPRequestObject()
         {
            try
            {
                xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
                
            }
            catch(e)
            {
                try
                {
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(E)
                {
                    xmlhttp=false;
                }
            }
            if(!xmlhttp&&typeof XmlHttpRequest!='undefined')
            {
                xmlhttp=new XmlHttpRequest();
            }
         }
    </script>
    <asp:TextBox ID="txtName" runat="server" CssClass="textfield" Width="130px" onblur="getNames(this.value)"></asp:TextBox></td><td><div id="div1"></div>
      

  5.   

    http://country.lvyou168.cn/flashwariii/ajax检测用户名是否存在.rar
      

  6.   

    网上搜以下xmlHttp的用法就出来了
    思想是把参数用xmlHttp传到另外一个aspx.cs页面里边,接受了之后进行查询判断,返回判断结果,再在原页面接受结果
    这样原页面时不进行跳转的
      

  7.   

    xmlHttp感觉比较方便,到网上找一找就可以了