• AJAX.NET应用异步注册


    有群里的朋友问AJAX这个问题.
    1.我觉得应该首先了解DOM客户端模型,至少应该知道它是什么
    2.应该懂一定JS语法,至少应该能构造自己的类.
    3.最好使用一种相对成熟的框架.

    ----------------------------------------
    首先AJAX技术核心就是异步。

    先说说我自己的经验。
        我认为实际上AJAX就是一种共同遵守的C/S模型而已。
        只不过碰巧AJAX的客户端是不同的浏览器,它们都有共同的规范。
        而随着XMLHTTP成为规范,大家都得到了一个最小的数据描述集。

    而在客户端,我们拥有JS脚本语言,可以为我们营造强大的客户端模型。
    然后通过XML格式与服务端交互数据(ASPNET,ASP,PHP,JSP,CGI。。)

    ----------------------------------------------------------

    我经常使用的是AJAX.NET,现在它有更多的版本,AJAXPRO,AJAXPRO2等等。

    对用它的使用,可以访问http://www.ajax.net获得。

    ------------------------------------------------------------------
    现在有一个常见的AJAX注册的应用。

    下面是一个JS对象,可以构造不同的遮罩效果。它是可以在IE中正常运行的脚本。

    function MyScreen()
    {
      
    }

    MyScreen.prototype.gray=function(layers,divname,styleclass,lp,tp,x,y)
    {
         
          var objScreen = document.getElementById(divname);
          if(!objScreen)
          {
            var objScreen = document.createElement("div");
          }
       
         objScreen.id = divname;
         objScreen.className = styleclass;
         var wh = x + "px";
         var hh = y + "px";
        // var toppoint = resultPanelTop+"px"
         var toppoint = tp+"px"
         //var leftpoint = (document.body.clientWidth/2 + x/2+resultPanelLeft)+"px";;  
         var leftpoint = (document.body.clientWidth/2 + x/2+lp)+"px";;                        
                     
       
        var oS = objScreen.style;
       oS.display = "block";
       oS.top = toppoint;
       oS.left = leftpoint;
       oS.margin = oS.padding = "0px";
     
        oS.width = wh;
        oS.height =  hh;
       oS.position = "absolute";
     oS.zIndex = layers;
        oS.background = "#fff";
       // oS.filter = "alpha(opacity="+filterNo+")";
        document.body.appendChild(objScreen);
    }
    MyScreen.prototype.SetText=function(divname,text)
    {
       var objScreen = document.getElementById(divname);
       objScreen.innerHTML = text;
    }
    MyScreen.prototype.clear=function(divname)
    {
      var objScreen = document.getElementById(divname);
      var oS = objScreen.style;
        oS.width = "0";
        oS.height ="0"
        oS.zIndex=0;
    }
    MyScreen.prototype.remove=function(el)
    {
     
      var removediv=document.getElementById(el);
      document.body.removeChild(removediv);
    }
    -----------------------------------------------------------
    可以这样来使用它。就生成了一个层:
     var ms = new MyScreen();
     ms.gray(11,"guanggao","",0,0,document.body.clientWidth,document.body.clientHeigth);
     删除它,可以如下:
     ms.remove("guanggao");
     现在有了一层,然后再添加一个注册时使用的层。
     ms.gray(12,"login","",resultPanelLeft-81,40,200,300);
     ----------------------------------------------------------
     然后在这个login上描述你的注册页面。可以这样:
     var htmltable = "<table><tr><td>帐号</td><td><input type='text' id='registerName'></td></tr>"+
                     "<tr><td>密码</td><td><input type='password' id='registerpwd1'></td></tr>"+
       "<tr><td><input type='button' id='regPost' onclick='regPost();' value ='注册'></td><td><input type='button' id='cancelreg' onclick='cancelReg();' value ='取消'></td></tr></table>";

     var logindiv = document.getElementById("login");
     logindiv.innerHTML = htmltable;
     ----------------------------------------------------------
     经过以上步骤,注册页面出现了。
     剩下的你要做的就是收集registerName和registerpwd1的值返回到服务器了。
     怎么收集不用讲了。

     -------------------------------------------------------------

     下面是服务端,我用的是ASPNET,使用AJAX.net框架,需要引用它AJAX.dll
     public class AJAXbackgroup
     {
      public AJAXbackgroup()
      {
       //
       // TODO: 在此处添加构造函数逻辑
       //
      }
     [Ajax.AjaxMethod()]
     public string RegisterUser(string name,string pwd)
      {
       #region 检查参数
       if(name == "" || pwd == "")
       {
        return "-1";
       }
       #endregion
       try
       {
       //你的注册方法实现
         registerFunc(name,pwd);
               
        return "1";
       }
       catch(Exception ex)
       {
        return ex.Message;
       }
       
      }
              }
    ------------------------------------------------------------
    然后你在需要使用AJAX的页面注册该类(AJAXbackgroup)

    private void Page_Load(object sender, System.EventArgs e)
      {
       Ajax.Utility.RegisterTypeForAjax(typeof(QueryGame));


       //.....
              }
    ------------------------------------------------------------
    这样服务端做好了,现在回到客户端,取得registerName和registerpwd1的值,
    使用这样的方法回传给服务器。

    function registerFunc(registerName,registerpwd1)
    {
       var response = AJAXbackgroup.RegisterUser(registerName,registerpwd1);
       if(response == "-1")
       {
          alert("注册成功");
       }
       else
       {
          alert("注册失败");
       }
    }
    ----------------------------------------------------------------------
    这样就弄好了。
    -----------------------
    下载
    应用例子

  • 相关阅读:
    Learning Deep CNN Denoiser Prior for Image Restoration阅读笔记
    图象恢复学习笔记(二)
    Alpha matting算法发展
    structure machine learning projects 课程笔记
    improve deep learning network 课程笔记
    convolutional neural network 课程笔记
    Ajax上传File对象到服务器
    SQL Server存储过程模拟HTTP请求POST和GET协议
    Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关
    Maven安装jar包到本地仓库
  • 原文地址:https://www.cnblogs.com/niuniu502/p/616079.html
Copyright © 2020-2023  润新知