چك كردن نام كاربري با استفاده از Ajax
جمعه 10 مهر 1394در این مقاله تصمیم داریم که نام کاربری را با استفاده از Ajax و بدون PostBack در Asp.Net WebForms چک کنید و پیغام متناسب را نمایش دهیم .
ابتدار یک بانک اطلاعاتی با نام UsersChekDB بسازید و داخل این بانک جدولی به شکل زیر ایجاد کنید

اسکریپت ساخت جدول
USE [UsersChekDB] GO /****** Object: Table [dbo].[Users] Script Date: 10/01/2015 10:06:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Users]( [UserID] [int] IDENTITY(1,1) NOT NULL, [UserName] [nvarchar](50) NOT NULL, [Password] [nvarchar](50) NOT NULL, CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ( [UserID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
سپس یاک پروژه و صفحه ایجاد میکنیم
در قسمت کد متد زیر را ایجاد میکنیم
[WebMethod]
public static bool IsUserAvailable(string username)
{
SqlConnection cnn = new SqlConnection(WebConfigurationManager.ConnectionStrings["CONN"].ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT UserName FROM Users WHERE (UserName LIKE '" + username.ToString() + "')", cnn);
SqlDataAdapter sqlDA = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sqlDA.Fill(ds, "Users");
if (ds.Tables["Users"].Rows.Count == 0)
{
return true;
}
else
return false;
}
متد بالا ئظیفه چک کردن نام کاربری را بر عهده دارد
فقط دقت کنید صفت [WebMethod] حتما باید بالای متد قرار داشته باشد و متد static باشد
سپس در صفحه یک TextBox و یک Lable برای نمایش نتیجه قرار میدهیم
<asp:Label ID="lblUserName" runat="server" AssociatedControlID="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;'>بار گذاري...</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;'>نام كاربري درست است</span>";
else
spanAvailability.innerHTML = "<span style='color: Red;'>لطفا نام كاربري ديگري انتخاب فرماييد</span>";
}
}
</script>



- ASP.net
- 2k بازدید
- 10 تشکر