同上

解决方案 »

  1.   

    XMLHttpRequest实现无刷新验证用户名
    http://blog.csdn.net/Sandy945/archive/2009/05/12/4169870.aspx
      

  2.   

    建议你放弃 javascript 的传统写法 用 juery吧,ajax 一句话搞定
    如:ajax.get("url",function(data){     alert(data);
    })参考下:http://www.37518.net/ProdInfo_ba748e87a277e336b1a82a643169eb38.html
    中的jqery ajax 运用
      

  3.   

    建议你放弃 javascript 的传统写法 用 Jquery 吧,ajax 一句话搞定 
    如:ajax.get("url",function(data){     alert(data); 
    }) 参考下:http://www.37518.net/ProdInfo_ba748e87a277e336b1a82a643169eb38.html 
    中的jqery ajax 运用
      

  4.   


    发送请求页面
    HTML:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!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">
        <div>
        <input type="text" id="txt1" onblur="ajaxrequest()"/>
        </div>
        </form>
    </body>
    </html>
    JS://创建xmlHTTPrequest对象
    var xmlHttp = createXmlHttpRequestObject();
        function createXmlHttpRequestObject()
        {
        var xmlHttp;

        try
        {
        xmlHttp = new XMLHttpRequest();
        }
               //判断浏览器xml兼容
        catch (e)
    {
    var XmlHttpVersions = new Array("MSXML2.XMlHTTP.6.0",
    "MSXML2.XMlHTTP.5.0",
    "MSXML2.XMlHTTP.4.0",
    "MSXML2.XMlHTTP.3.0",
    "MSXML2.XMlHTTP",
    "Microsoft.XMlHTTP");
    for (var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++)
    {
            try
            {
            xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
            }
            catch (e) { }
        }
    }
    if (!xmlHttp) 
    {
        alert("Error crearing XMLHttpRequest");
    }
    else
        return xmlHttp;
    }

           //发送请求
           function ajaxrequest() {
                var id = document.getElementById("txt1").value;
                var url = "aja.aspx?id="+id;
                xmlHttp.open("Post", url, true);
                xmlHttp.onreadystatechange = updatePage;
                xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
                xmlHttp.send(null);
            }       //获取返回文本
            function updatePage() 
            {
                if (xmlHttp.readyState == 4) {
                    if (xmlHttp.status == 200) {
                        var response = xmlHttp.responseText;
                        alert(response);
                    }
                }
            }
    aja.aspx页面(ajax请求的页面) 建议写在.ashx文件(一般处理程序)里。如果是aspx,代码如下
     HTML:把其他代码都清了,只留下
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="aja.aspx.cs" Inherits="aja" %>
    CS文件protected void Page_Load(object sender, EventArgs e)
        {
            string _id = Request.QueryString["id"].ToString();
            if (_id == "1")
            {
                Response.Write("您输入了1");          if (_id == "2")
            {
                Response.Write("您输入了2"); 
            }
            //其他响应处理
         }
      

  5.   

    有的时候不一定需要用ajax,看看下面的是否可以解决你的问题先
    1.如何在JavaScript访问C#函数?  2.如何在JavaScript访问C#变量?  3.如何在C#中访问JavaScript的已有变量?  4.如何在C#中访问JavaScript函数?  问题1答案如下:  javaScript函数中执行C#代码中的函数:  方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;  2、在前台写一个js函数,内容为document.getElementById("btn1").click();  3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;  方法二:1、函数声明为public  后台代码(把public改成protected也可以)public string ss()
      {
        return("a");
      }  2、在html里用可以调用  前台脚本<script language=javascript>  var a = "<%=ss()%>";  alert(a);</script>  方法三:1、<script language="javascript">  <!--  function __doPostBack(eventTarget, eventArgument)  {    var theForm = document.Form1; //指runat=server的form    theForm.__EVENTTARGET.value = eventTarget;    theFrom.__EVENTARGUMENT.value = eventArgument;    theForm.submit();  }  -->  </script>  <input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')">  方法四:<script language="javascript">  function SubmitKeyClick()  {    if (event.keyCode == 13)    {      event.cancelBubble = true;      event.returnValue = false;      document.all.FunName.value="你要调用的函数名";      document.form[0].submit();    }  }  </script>  <INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">  <input type="hidden" name="FunName"> 〈!--用来存储你要调用的函数 --〉  在.CS里有:public Page_OnLoad()
      {
        if (!Page.IsPost())
        {
          string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
          //根据传回来的值决定调用哪个函数
          switch(strFunName)
          {
            case "enter()":
            enter() ; //调用该函数
            break;
            case "其他":
            //调用其他函数
            break;
            default:
            //调用默认函数
            break;
          }
        }
      }
      public void enter()
      {
        //……比如计算某值
      }  问题2.如何在JavaScript访问C#变量?  答案如下:  方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server">  方法二:1、如后台定义了PUBLIC STRING N; 前台js中引用该变量的格式为''或"++"  方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本"<script language='javascript'>var temp=" + tmp + "</script>"  tmp是后台变量,然后js中可以直接访问temp获得值。  问题3.如何在C#中访问JavaScript的已有变量?  答案如下:  方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;2、后台用request["id"]来获取值;  方法二:可以用cookie或session  问题4.如何在C#中访问JavaScript函数?  答案如下:  c#代码中执行javaScript函数:  方法一:1、Page.RegisterStartupScript("ggg"," ");  方法二:使用Literal类,然后private void Button2_Click(object sender, System.EventArgs e)
      {
        string str;
        str=" ";
        //Literal1.Visible=true;
        Literal1.Text=str;
      } 
      

  6.   

    <script runat="server">
        BJMember MemberInfo = new BJMember(); 
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(GetType());
                
        }    
    [AjaxPro.AjaxMethod]
        public string ReturnResult(string str)
        {
            string Flage = "";
            BJMember Member=new BJMember();
            Member.Email = str;
            if (WebManager.GetInfo(Member,"&email=")>0)
            {
                Flage = "1";
            }
            return Flage;
      
        }
        </script><script type="text/javascript">
    function OpenWindow()
    {
      var Mail=document.getElementById('BJMember_Email').value;
      //alert(Mail);
      ASP.shzc_aspx.ReturnResult(Mail,callback);
    }
    function callback(res)
    {
      if(res.value!="")
      {
         document.getElementById('Div1').style.display="block";
         document.getElementById('Div1').innerHTML="对不起!该账户已经被注册";
         setTimeout("CloseDivHiddenValue()",2000)
      
      }
      else
      {
        document.getElementById('Div1').style.display="block";
        document.getElementById('Div1').innerHTML="恭喜您!该账户没有使用";
        setTimeout("CloseDiv()",2000)
      }
      
    }
    function CloseDivHiddenValue()
    {
       document.getElementById('Div1').style.display="none";
       document.getElementById('BJMember_Email').value="";
    }
    function CloseDiv()
    {
       document.getElementById('Div1').style.display="none";
        // document.getElementById('BJMember_Email').value="";
    }
    function Hidden()
    {
      document.getElementById('Div1').style.display="none";
    }
    </script>