سلام
فرض کنید می خواهیم اطلاعات یک کاربر را ثبت کنیم
حال می خواهم هنگامی که نام کابری را وارد کردم قبل از انکه وارد textbox بعدی بشم سیستم چک کند که نام کاربری قبلا ثبت شده است یانه و اگر ثبت شده بود یک پیام بدهد
می دانم باید از JsonResult استفاده کنم اما نمی دانم چگونه باید پیام تکراری بودن را نمایش بدهم
لطفا با یک نمونه توضیح بدهید
باتشکر
لینک زیر را بررسی کنید:
<script type="text/javascript"> $(document).ready(function () { $("#UserName").blur(function (event) { var usernameCheck = document.getElementById('msg'); var username = document.getElementById('UserName').value; var pUsername = /([a-zA-Z0-9_][^ ]{4,35})/g; if (!pUsername.test(username)) { usernameCheck .innerText = 'نام کاربری می تواند بین 4 تا 35 کارکتر و شامل حروف انگلیسی ، اعداد و «_» باشد'; } else { $.ajax({ type: "POST", url: "/Admin/Users/IsUserAvailable", data: "{'name': '" + $('#UserName').val().trim().toLowerCase() + "'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { $('#msg').html("<img src='ajaxImages/waiting.gif' alt='در حال بررسی ...'>"); var delay = function () { AjaxSucceeded(msg); }; setTimeout(delay, 500); //remove this }, error: AjaxFailed }); } }); }); function AjaxSucceeded(result) { if (result) $('#msg').html("<img src='ajaxImages/available.gif' alt='نام کاربری مورد نظر آزاد است'>"); else $('#msg').html("<img src='ajaxImages/taken.gif' alt='نام کاربری مورد نظر قبلا ذخیره شده است'>"); } function AjaxFailed(result) { alert(result.status + ' ' + result.statusText); } </script>
برای کنترلر:
public JsonResult IsUserAvailable(string name) { if (db.Users.Where(n => n.UserName == name).Any()) { return Json(false, JsonRequestBehavior.AllowGet); } else { return Json(true, JsonRequestBehavior.AllowGet); } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)