PDA

View Full Version : چک کردن وجود نام کاربری بدون فرستادن صفحه به سرور



hossein_va
دوشنبه 08 اسفند 1390, 16:57 عصر
سلام
می خوام وقتی کاربری برای عضویت اقدام می کنه و نام کاربری وارد میشه که قبلا در سایت عضو بوده سریع همونجا بهش بگه که کاربری با این نام وجود داره و صفحه رفرش نشه.مثل وقتی که میخوایم تو یاهو ایمل بسازیم

fakhravari
دوشنبه 08 اسفند 1390, 17:47 عصر
امکانات شما ممبرشیپ است یا جدا کار میکنید.
public bool Vaziat
public void chekname(string test)
{
if (Membership.FindUsersByName(test).Count == 1)
{
Vaziat = false;
}
else
{
Vaziat = true;
}
}



اگر ممبر شیپ نیست که
با یه select ساده جستجو کنید بر حست کلمه کاربری اگر بود که دیگر مشخصه

EnKamran
دوشنبه 08 اسفند 1390, 19:40 عصر
دوستمون می خوان بدون پست بک انجام بشه، شما از JSON استفاده کنید برای این کار

ramin149
دوشنبه 08 اسفند 1390, 19:51 عصر
فورم ثبت نامتون رو داخل ajax بگذارید و کدی رو که آقای fakhravari گذاشتن رو برای رویداد TextChanged کنترل تکس باکس نام کاربری خود قرار دهید .

dorparasti
دوشنبه 08 اسفند 1390, 20:25 عصر
درباره PageMethod و JSON سرچ کنید .

hossein_va
سه شنبه 09 اسفند 1390, 08:07 صبح
با سلام.
ممنون از وقتی که گذاشتید و پاسخ دادید.من هرچی گشتم یه نمونه از Json نتونستم پیدا کنم که باهاش کارکنم اگه نمونه یا ی مثالی دارید ممنون میشم اگه ببینم

raziee
سه شنبه 09 اسفند 1390, 10:12 صبح
با سلام.
شما میتونید بوسیله Jquery این کار رو به راحتی انجام دهید.
<script>
$(function () {
$("#<%= txtUserName.ClientID %>").change(function () {
var data = { username: $(this).val() };
$.post("/UserNameChecker.ashx", data, function (a, b) {
if (a.success) alert('این نام کاربری گرفته شه است');
else alert('این نام کاربری آزاد است');
}, "json");
});
});
</script>
هر زمان که txtUserName تغییر کنه ، مقدار اون یه یک Handler ارسال میشه و نتیجه برگشت داده میشه.
public class UserNameChecker : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
if (!string.IsNullOrEmpty(context.Request.Params["username"]) && context.Request.Params["username"] == "raziee")
context.Response.Write("{\"success\":false}");
else
context.Response.Write("{\"success\":true}");

context.Response.ContentType = "text/json";
context.Response.End();
}

public bool IsReusable
{
get
{
return false;
}
}
}
کتابخانه های زیادی برای کار با Json در دات نت نوشته شده که میتونید از اون ها استفاده کنید. ولی همونطور که دیدید Json هیچ چیز خاص و دور از ذهن نیست.