在Javascirpt代码中,调用Jquery的方法$.Ajax(function)实现Ajax,传递账号信息给Web服务,Web服务再调用数据库操作类查询数据库,并返回数据给前台页面。 详细代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Ajax_XML._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> <script type="text/javascript" src="jquery-1.3.2-vsdoc2.js" language="javascript"></script> <script type="text/javascript" language="javascript"> $(function() { $("#<%=UserID.ClientID%>").keyup( function() { $.ajax({ type: "POST", contentType: "application/json", dataType: "json", url: "WebService1.asmx/UserIsExist", data: "{UserID:'" + $("#<%=UserID.ClientID%>").val() + "'}", success: function(result) { if (result.d == "true") $("#<%=IsExist.ClientID%>").text("Yes"); //账号已存在 else $("#<%=IsExist.ClientID%>").text("No"); } }); } ); }) </script> </head> <body> <form id="form1" runat="server"> <div> <table style="width:100%;"> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> <asp:TextBox ID="UserID" runat="server"></asp:TextBox> <asp:Label ID="IsExist" runat="server" Visible="true"></asp:Label> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> </table> </div> </form> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Text; using DAL; namespace Ajax_XML { /// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello,World!"; } [WebMethod] public string UserIsExist(string UserID) { string sql = string.Format("select * from Customers where FirstName='" + UserID+"'"); using (SqlDataReader dr = SqlHelper.ExecuteSql(sql)) { if (dr.Read()) return "false"; else return "true"; } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace DAL { /// <summary> /// 数据库操作类 /// </summary> public class SqlHelper { private static SqlConnection conn; private static SqlCommand comm; private static SqlDataReader dr; /// <summary> /// 打开数据库连接 /// </summary> public static void ConnOpen() { try { conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BBS"].ConnectionString); conn.Open(); } catch (Exception e) { Console.WriteLine( e.Message); } } /// <summary> /// 关闭数据库连接,释放资源 /// </summary> public static void ConnClose() { if (conn != null) { conn.Close(); } if (comm != null) { comm.Dispose(); } } public static SqlDataReader ExecuteSql(string sql) { SqlHelper.ConnOpen(); comm = new SqlCommand(sql, conn); try { dr = comm.ExecuteReader(); return dr; } catch (Exception e) { throw e; } } } } |