当前位置:编程学习 > C#/ASP.NET >>

小弟从事ASP.NET开发,但不使用控件,请问下如何在用户注册时,检测用户名是否已经存在,用AJAX技术,不使用控件...谢谢了

小弟从事ASP.NET开发,但不使用控件,请问下如何在用户注册时,检测用户名是否已经存在,用AJAX技术,不使用控件...谢谢了,小弟从事纯静态页面开发,虽然用的是ASP.NET,但不使用控件,另外也希望志同道合的朋友,加我好友,QQ:451198302,欢迎大家,我们一起进步,一共成长。 --------------------编程问答--------------------

后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Xy.GamePt.VO;
using Xy.GamePt.BO;
using System.Collections;

public partial class Test : System.Web.UI.Page
{
    //添加一个 AjaxPro.HttpSessionStateRequirement 枚举的值到你的 AjaxPro.AjaxMethodAttribute中.

    //例如:
    //[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]    
    //现在你就可以像下面这样存取Session的值了: this.Session["0"].ToString().


    //另外一个问题:如何在AjaxMethod中使用Cookie? 

    //答案是不能使用"this"的引用存取cookie ,你必须使用HttpContext.Current

    //例如:
    //HttpContext.Current.Request.Cookies[Name].Value.

    protected void Page_Load(object sender, EventArgs e)
    {
        AjaxPro.Utility.RegisterTypeForAjax(typeof(Test)); 
        
    }

    [AjaxPro.AjaxMethod()]   
    public string GetServerTime()
    {
        System.Threading.Thread.Sleep(2000);
        return DateTime.Now.ToString();
    }

    [AjaxPro.AjaxMethod()]
    public DataSet GetDataSet()
    {
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        dt.Columns.Add("id", typeof(int));
        dt.Columns.Add("parentId", typeof(int));
        dt.Columns.Add("name", typeof(string));
    
        dt.Rows.Add(1, 0, "A-DGamename1");
        dt.Rows.Add(2, 1, "A-DGamename2");
        dt.Rows.Add(3, 1, "A-DGamename3");
        dt.Rows.Add(4, 1, "A-DGamename4");
        dt.Rows.Add(5, 0, "A-DGamename5");
        dt.Rows.Add(6, 5, "A-DGamename6");

        dt.Rows.Add(1, 0, "E-HGamename1");
        dt.Rows.Add(2, 1, "E-HGamename2");
        dt.Rows.Add(3, 1, "E-HGamename3");
        dt.Rows.Add(4, 1, "E-HGamename4");
        dt.Rows.Add(5, 0, "E-HGamename5");
        dt.Rows.Add(6, 5, "E-HGamename6");
        
        ds.Tables.Add(dt);
        return ds;
    }

    [AjaxPro.AjaxMethod()]
    public IList<Game> GetGameList()
    {
        return GameBO.GetGameList();
    }

    [AjaxPro.AjaxMethod()]
    public Game GetGame()
    {
        return GameBO.GetGame();
    }

    /// <summary>
    /// 返回Ilist
    /// </summary>
    /// <param name="parameter">脚本字符串参数</param>
    /// <param name="arr">脚本数组参数</param>
    /// <param name="xiaoxin">脚本对象参数</param>
    /// <returns></returns>
    [AjaxPro.AjaxMethod()]
    public IList GetData(string parameter,string [] arr,object obj)
    {
        object xxxx = obj;
        Hashtable ht = xxxx as Hashtable;
        string sss = parameter;
        Array aaaa = arr;
        //Hashtable ht = arr as Hashtable;
        return TestBO.GetIlist();
    }
}

  前台

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <select id="Select1">
        <option></option>
    </select>
      <div id="loadinfo" style="visibility:hidden;position:absolute;left:0px;top:0px;background-color:Red;color:White;">Loading</div>
   
        <input id="Button1" type="button" value="Get StrServerTime" onclick ="javascript:GetTime();void(0)" />
        <input id="Button2" type="button" value="DataSet" onclick ="javascript:Change();void(0)" />
          <input id="Button3" type="button" value="DataiList" onclick ="javascript:GetIListData();void(0)" />
           <input id="Button3" type="button" value="GetGameList" onclick ="javascript:GetGameList();void(0)" />
            <input id="Button3" type="button" value="GetGame" onclick ="javascript:GetGame();void(0)" />
        <div id="newDG"></div>

        <script type="text/javascript"  language="javascript">
            // loading效果
            AjaxPro.onLoading = function(b) {
                var a = document.getElementById("loadinfo");
                a.style.visibility = b ? "visible" : "hidden";
            }
            /* 客户端调用返回的字符串--------------------*/
            function GetTime() {
                // 调用服务端方法
                //调用方法:类名.方法名 (参数为指定一个回调函数)
                Test.GetServerTime(callback);
            }
            function callback(res)  //回调函数,显示结果
            {
                alert(res.value);
            }
            /*-----------------------------------------*/
            /* 客户端调用返回的DataSet--------------------*/

           function Change() {
               Test.GetDataSet(change_callback)
           }
           function change_callback(response) {
               var ds = response.value;
               var content = document.getElementById("newDG");
               var table = null;
               for (var i = 0; i < ds.Tables[0].Rows.length; i++) {
                   if (i == 0) {
                       table = ds.Tables[0].Rows[i].name + "<br>";
                   }
                   else {
                       table += ds.Tables[0].Rows[i].name + "<br>";
                   }
               }
               content.innerHTML = table;
           }
           /*----------------------------------------------*/

           /* 客户端调用返回的IList--------------------*/
           function GetIListData() {
               var arr = Array("1", "2", "5", "64", "78");
               
               function User(name, age) {
                   this.name = name;
                   this.age = age;
                   this.canFly = false;
               }
               var obj = new User("234", "5345");

               Test.GetData("sdfsd", arr, obj, GetIListData_callback);
           }
           function GetIListData_callback(response) {
               var ilist = response.value;
               var content = document.getElementById("newDG");
               var table = null;
               for (var i = 0; i < ilist.length; i++) {
                   if (i == 0) {
                       table = ilist[i][1] + "|" + ilist[i][2] + "<br>";
                   }
                   else {
                       table += ilist[i][1] + "|" + ilist[i][2] + "<br>";
                   }
               }
               content.innerHTML = table;
           }
           /*----------------------------------------------*/

           /* 客户端调用返回的范型GameList--------------------*/

           function GetGameList() {
               Test.GetGameList(GetGameList_callback)
           }
           function GetGameList_callback(response) {
               var gameList = response.value;
               var content = document.getElementById("newDG");
             //  var table = game.StrGameName;
               var table = null;
               for (var i = 0; i < gameList.length; i++) {
                   if (i == 0) {
                       table = gameList[i].StrGameName + "<br>";
                   }
                   else {
                       table += gameList[i].StrGameName + "<br>";
                   }
               }
               content.innerHTML = table;
           }
           /*----------------------------------------------*/


           /* 客户端调用返回的实体Game--------------------*/
           function GetGame() {
               Test.GetGame(GetGame_callback)
           }
           function GetGame_callback(response) {
               var game = response.value;
               var content = document.getElementById("newDG");
               var table = game.StrGameName;

               content.innerHTML = table;
           }
           /*----------------------------------------------*/

      </script>
    </form>
</body>
</html>


--------------------编程问答-------------------- 不使用服务器控件吗,还是不使用什么控件啊?
你总需要个录入的控件输入用户名把,不知道你指的不使用控件指的是什么,请你先把问题描述清楚 --------------------编程问答-------------------- 小弟从事ASP.NET开发,但不使用服务器控件,请问下如何在用户注册时,检测用户名是否已经存在,用AJAX技术,不使用控件...谢谢了,小弟从事纯静态页面开发,虽然用的是ASP.NET,但不使用控件,另外也希望志同道合的朋友,加我好友,QQ:451198302,欢迎大家,我们一起进步,一共成长。 --------------------编程问答-------------------- 查呗。得到返回值不就行了吗? --------------------编程问答-------------------- ajax异步获取数据,查询用户数据
<script type="text/javascript">
  var xmlHttp;
  function createXMLHttpRequest()
  {
  if(window.ActiveXObject)
  {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if(window.XMLHttpRequest)
  {
  xmlHttp = new XMLHttpRequest();
  }
  }
  function CheckUserName()
  {
  var us=document.getElementById("txtname").value;
  if(us!="")
  {
  createXMLHttpRequest();
  var url= "RegistValidate.ashx?username="+escape(document.getElementById("txtname").value);
  xmlHttp.open("GET",url,true);
  xmlHttp.onreadystatechange=ShowResult;
  xmlHttp.send(null);
  }
  }
  function ShowResult()
  {
  if(xmlHttp.readyState==4)  
  {
  if(xmlHttp.status==200)
  {
  var s;
  s=xmlHttp.responseText;
  alert(s);
  }
  }
  }
</script> --------------------编程问答-------------------- http://blog.csdn.net/wwfgu00ing/archive/2010/07/08/5721175.aspx --------------------编程问答-------------------- 简单的jQuery检测注册用户名

http://blog.csdn.net/gdjlc/archive/2009/11/20/4840261.aspx --------------------编程问答-------------------- --------------------编程问答-------------------- 都是牛人 --------------------编程问答-------------------- 路过,帮顶下 --------------------编程问答-------------------- 不用控件,也要有文本框输名字。
直接 根据名字查下! --------------------编程问答-------------------- 既然这么排斥控件,就不应该用asp.net的页面事件模式,用asp.net MVC、ashx、webservice或WCF。 --------------------编程问答-------------------- 1楼,5楼正解,其中一个用的是ajax的动态连接库dll,后台注册,再声明上ajax的方法,前台就可以用javascript调用,5楼用的就是ajax的基础用法,声明,发送,返回这样的机制,就效率而言,5楼效率稍微高点 --------------------编程问答-------------------- 不错,我也不想用 --------------------编程问答-------------------- mark --------------------编程问答--------------------
引用楼主 guo_xu_feng 的回复:
小弟从事ASP.NET开发,但不使用控件,请问下如何在用户注册时,检测用户名是否已经存在,用AJAX技术,不使用控件...谢谢了,小弟从事纯静态页面开发,虽然用的是ASP.NET,但不使用控件,另外也希望志同道合的朋友,加我好友,QQ:451198302,欢迎大家,我们一起进步,一共成长。


你要是写的多了,自己复用,甚至给别人复用,除了做成控件还能是什么?

“不使用控件”是一句空话,我理解你们连自己的一点点复用的组件都没有。如果说越是低级的开发方法(不用控件,并且自己也不懂如何开发控件)越高级,这纯粹是以程序员忽悠那些不懂开发的外行老板呢。 --------------------编程问答-------------------- 你跑到csdn上发帖抄一段“通用”代码,就没有想到这应该是包装为一个可复用的组件放在程序中,设计界面时直接拖进设计页面? --------------------编程问答-------------------- 应该他的意思是说不使用服务器控件。哎意思表达不清楚。 --------------------编程问答-------------------- 哪位大侠指点一下~~~小弟也想学习学习 --------------------编程问答--------------------
引用 17 楼 sp1234 的回复:
你跑到csdn上发帖抄一段“通用”代码,就没有想到这应该是包装为一个可复用的组件放在程序中,设计界面时直接拖进设计页面?


他的意思只是不使用服务器控件
  --------------------编程问答-------------------- $.ajax({
                        type: "post",
                        data: "method=get" + '&name=' + name ,
                        url: "test.ashx",
                        success: function (status) {
                            if (status == 0) {
                                       alert(用户名存在)                   }
                            else if (status == 1) {
                                        alert("");
   
              }
                            else if (status == 2) {
                                alert("");
                            }
                            else{alert("");
}
                        }
                    }); --------------------编程问答-------------------- 用Jquery,ajax来实现嘛 --------------------编程问答-------------------- var isHave=JQuery.get('validuser.aspx?user');
就行了。你要是自己写Ajax也可以,注意浏览器的支持问题

建议你看看我的这个
http://blog.csdn.net/wen158809179/archive/2010/02/04/5287454.aspx

我这也有中文的JQuery文档,要的找我 --------------------编程问答-------------------- lz 疯狂地表现自己不使用控件,已经能证明lz的实力了

丛败中 --------------------编程问答-------------------- 建议lz用asp ,它没有服务器控件。真的没有 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 用5楼的解法就是了
在你的input里加一个onblue就是了 <input name="username" onblue="CheckUserName()">

--------------------编程问答-------------------- 不懂,火大!! --------------------编程问答-------------------- 不用服务器控件,5楼人生如梦给出的正解
那是最基础的Ajax,比较实用.
LZ可以用一个页面只放用户名用户提交后检测是否可用再接着填写详细的. --------------------编程问答-------------------- ajax.dll --------------------编程问答-------------------- 在2005就有一个接口:ICallbackEventHandler可以实现ajax功能,那时候因为还没有updatapanel
你去了解这个接口:ICallbackEventHandler。 --------------------编程问答-------------------- 好难呀 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 只要能达到目标,用什么都没有关系,asp.net的控件很好用啊,用ajax技术也可以解决。 --------------------编程问答-------------------- jquery
json返回查询结果。 --------------------编程问答-------------------- 强力推荐Jquery --------------------编程问答--------------------
引用楼主 guo_xu_feng 的回复:
小弟从事ASP.NET开发,但不使用控件,请问下如何在用户注册时,检测用户名是否已经存在,用AJAX技术,不使用控件...谢谢了,小弟从事纯静态页面开发,虽然用的是ASP.NET,但不使用控件,另外也希望志同道合的朋友,加我好友,QQ:451198302,欢迎大家,我们一起进步,一共成长。

如果你对AJAX有点了解的话,我想这个问题很好解决。
jquery中的AJAX很好,而且一点就会。 --------------------编程问答-------------------- jquery ajax 简单 易懂 --------------------编程问答-------------------- 不用控件你还怎么检查你的用户名啊。。 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,