<%...@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CheckUsernameWithAjax._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>CheckUsernameWithAjax</title> </head> <body> <form id="form" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"/> Last Postback: <%= DateTime.Now %> <br /><br /> <asp:Label ID="lblUserName" runat="server" AssociatedControlID="UserName">Desired Username</asp:Label> <asp:TextBox ID="UserName" runat="server" CssClass="txt" onkeyup="usernameChecker(this.value);"/> <span id="spanAvailability"></span> <script type="text/javascript">... var usernameCheckerTimer; var spanAvailability = $get("spanAvailability"); function usernameChecker(username) ...{ clearTimeout(usernameCheckerTimer); if (username.length ==0) spanAvailability.innerHTML =""; else ...{ spanAvailability.innerHTML ="<span style='color: #ccc;'>checking...</span>"; usernameCheckerTimer = setTimeout("checkUsernameUsage('"+ username +"');", 750); } } function checkUsernameUsage(username) ...{ // initiate the ajax pagemethod call // upon completion, the OnSucceded callback will be executed PageMethods.IsUserAvailable(username, OnSucceeded); } // Callback function invoked on successful completion of the page method. function OnSucceeded(result, userContext, methodName) ...{ if (methodName =="IsUserAvailable") ...{ if (result ==true) spanAvailability.innerHTML ="<span style='color: DarkGreen;'>Available</span>"; else spanAvailability.innerHTML ="<span style='color: Red;'>Unavailable</span>"; } } </script> </form> </body> </html>
aspx.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Web.Services; namespace CheckUsernameWithAjax ...{ publicpartialclass _Default : System.Web.UI.Page ...{ protectedvoid Page_Load(object sender, EventArgs e) ...{ } [WebMethod] publicstaticbool IsUserAvailable(string username) ...{ if (username.ToLower() =="storm") returnfalse; else returntrue; } } }