السلام عليكم ورحمه الله وبركاته
هنحاول نشرح ازاي واليوز او الفيستور بيحاول انه يسجل في صفحة Registeration Sheet يعمل Check On UserName علشان مش بعد ما يعمل Load تظهر ليه رساله تقولة ان المستخدم موجود بالفعل
اول حاجه هنكتب المكتبه بتاعتنا ل JQuery في ال Head
<Head> <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script> </Head>
تاني خطوة :
وهي ان باستخدام ال Ajax هنكتب ال Function بتاعتنا وهي عبارة عن
(Check - Return With False Or True Or Error )
<script type = "text/javascript">
function ShowAvailability() {
$.ajax({
type: "POST", // Action Type
url: "CS.aspx/CheckUserName", // YourPageName.aspx
data: '{userName: "' + $("#<%=TxtKhaledHarby.ClientID%>")[0].value + '" }', // الكنترول اللي هناخد منه الداتا علشان يتمم الحدث
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response);
}
});
}
function OnSuccess(response) { // هنا بقا ال Status بتاعتنا اللي تم الرجوع من الحدث
var mesg = $("#mesg")[0];
switch (response.d) {
case "true":
mesg.style.color = "green"; // اللون اللي هيظهر في حاله النجاح ودي ممكن تغيرها براحتك لو عاوزها صورة او اي حاجه انت عاوزها
mesg.innerHTML = "Available"; // ودي الكلمه اللي هتظهر للفيستور او المستخدم اللي بيحاول انه يسجل ممكن طبعا تتغير
break;
case "false":
mesg.style.color = "red";
mesg.innerHTML = "Not Available";
break;
case "error":
mesg.style.color = "red";
mesg.innerHTML = "Error occured";
break;
}
}
function OnChange(txt) {
$("#mesg")[0].innerHTML = "";
}
</script> <asp:TextBox ID="TxtKhaledHarby" runat="server"
onkeyup = "OnChange(this)"></asp:TextBox>
<input id="btnCheck" type="button" value="Show Availability"
onclick = "ShowAvailability()" />
<br />
<span id = "mesg"></span>نيجي بقي لل الكود داخل C#
[System.Web.Services.WebMethod]
public static string CheckUserName(string userName)
{
string returnValue = string.Empty;
try
{
string consString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
SqlConnection conn = new SqlConnection(consString);
SqlCommand cmd = new SqlCommand("spx_CheckUserAvailability", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UserName", userName.Trim());
conn.Open();
returnValue = cmd.ExecuteScalar().ToString();
conn.Close();
}
catch
{
returnValue = "error";
}
return returnValue;
}طبعا ممكن تكتب الكود ده داخل ملف منفصل في Web Services
او كتابته داخل البيئة الحالية للتسجيل زاي ما تحب
تم التجربة قبل كتابه الموضوع