مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

سوال در مورد نحوه برقراری شرط در برگشت از Ajax

  • چهارشنبه 20 مرداد 1395
  • 11:30
تشکر میکنم

سلام

کدای زیرو برای کنترل UserName و PassWord با Ajax نوشتم! فعلا در نظر گرفتم که اگه درست باشن یه View از ردیف تو دیتابیس نشون بده

وقتی یوزر و پسورد رو وارد میکنیم مقادیرو تو PartialView نشون میده!!!

و وقتی مقدار اشتباه میزنیم مقدار نشون نمیده ولی دوباره فریم مربوطه رو نشون میده ولی خالی که درسته!

میخام یه دستور  بذارم وقتی مقدار تست شد و درست بود Model باز بشه؟

<script>
        $(document).ready(function () {
            $("#BtnEnter").mousedown(function () {
                //SearchUser(string UserName , string PassWord)
                var url = '@Url.Action("CheckUser", "Ajax")';
                var user = $("#UserName").val();
                var pass = $("#PassWord").val();
                var SendingData1 = "UserName=" + user ;
                var SendingData2 = "PassWord=" + pass;
                var datasend = SendingData1 +"&"+ SendingData2;
                $.get(url, datasend, function (data) {
                $("#dvContent").html(data);
                $("#myModal").modal("show");
                });
                });
        })
    </script>

 

پاسخ های این پرسش

تعداد پاسخ ها : 10 پاسخ
کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • چهارشنبه 20 مرداد 1395
  • 11:41

ینی میخام وقتی به قسمت مشخص شده زیر رسید مقدار برگشتی کنترل بشه اگه بدون مقدار بود یه Alert بده

<script>
        $(document).ready(function () {
            $("#BtnEnter").mousedown(function () {
                //SearchUser(string UserName , string PassWord)
                var url = '@Url.Action("CheckUser", "Ajax")';
                var user = $("#UserName").val();
                var pass = $("#PassWord").val();
                var SendingData1 = "UserName=" + user ;
                var SendingData2 = "PassWord=" + pass;
                var datasend = SendingData1 +"&"+ SendingData2;
                $.get(url, datasend, function (data) {
اینجا چک بشه که مقدار برگشتی دارد یا نه!!!

                $("#dvContent").html(data);
                $("#myModal").modal("show");
                });
                });
        })
    </script>

 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 مرداد 1395
  • 13:29

روی Data شرط بزارید اگر خالی نبود عملیات مورد نظرتون انجام بشه

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • چهارشنبه 20 مرداد 1395
  • 13:39

سلام

این شرطو گذاشتم ولی کلا مقدار else رو برمیگردونه

<script>
        $(document).ready(function () {
            $("#BtnEnter").mousedown(function () {
                //SearchUser(string UserName , string PassWord)
                var url = '@Url.Action("CheckUser", "Ajax")';
                var user = $("#UserName").val();
                var pass = $("#PassWord").val();
                var SendingData1 = "UserName=" + user ;
                var SendingData2 = "PassWord=" + pass;
                var datasend = SendingData1 +"&"+ SendingData2;
                $.get(url, datasend, function (data) {
                    if (data.lenght >0) {
                        $("#dvContent").html(data);
                        $("#myModal").modal("show");}
                    else
                        alert("Error"); 
                });
                });
        })
    </script>

 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 مرداد 1395
  • 13:46

حتما مقداری بر نمیگرداند

کد اکشن را قرار دهید

شرط ره به شکل زیر بنویسید و امتحان کنید

 if (data.lenght!==null)

 

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • چهارشنبه 20 مرداد 1395
  • 13:48

با این تغییرات الان داخل if اجرا میشه تو هر صورتی حتی وقتی اشتباهه

 <script>
        $(document).ready(function () {
            $("#BtnEnter").mousedown(function () {
                //SearchUser(string UserName , string PassWord)
                var url = '@Url.Action("CheckUser", "Ajax")';
                var user = $("#UserName").val();
                var pass = $("#PassWord").val();
                var SendingData1 = "UserName=" + user ;
                var SendingData2 = "PassWord=" + pass;
                var datasend = SendingData1 +"&"+ SendingData2;
                $.get(url, datasend, function (data) {
                    if (data.lenght !== 0) {
                        $("#dvContent").html(data);
                        $("#myModal").modal("show");}
                    else
                        alert("Error"); 
                });
                });
        })
    </script>

 

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • چهارشنبه 20 مرداد 1395
  • 13:51

مهندس break point گرفتم تو گوگل کروم، مقدار وقتی اشتباهه هم حتی lenght بر میگرده در صورتی که تو کلاسم مقداری رو نشون نمیده چون دستورای زیرو نوشتم تو کلاسم

   public   PartialViewResult CheckUser(string UserName,string PassWord)
        {

            var users = (from item in db.UserBases
                         where (item.UserName.Equals(UserName)) & (item.PassWord.Equals(PassWord))
                         select new ViewModel.UserVM { UserName = item.UserName,
                                                       FirstName = item.FirstName,
                                                       LastName = item.LastName }).ToList();
            return PartialView(users);

        } 

 

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • چهارشنبه 20 مرداد 1395
  • 13:53

مهندس کلا وقتی اوکی باشه مقدار 455 برمیگرده و وقتی اشتباه باشه کد 231!

این ثابته آیا؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 مرداد 1395
  • 13:54

دوست من 0 ننویسید به شکل

!== null بنویسید 
کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • چهارشنبه 20 مرداد 1395
  • 14:05

مهندس زدم اینم ولی بازم مشکل داره

بهرحال مقدار data برابر با null نیست، فک کنم مشکلم این باشه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 مرداد 1395
  • 16:43

درسته null نیست چون شما Partial برمیگردونید

باید به شکل زیر بنویسید

public   ActionResult CheckUser(string UserName,string PassWord)
     {
 
         var users = (from item in db.UserBases
                      where (item.UserName.Equals(UserName)) & (item.PassWord.Equals(PassWord))
                      select new ViewModel.UserVM { UserName = item.UserName,
                                                    FirstName = item.FirstName,
                                                    LastName = item.LastName }).ToList();
if(users.Any())        
 return PartialView(users);

retun Null;
 
     }

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)