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

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

برگشت مقدار Json به سمت View در درخواست ایجکسی

پنج شنبه, 16 شهریور 1396 16:54

برگشت مقدار Json به سمت View در درخواست ایجکسی

درود

از این مورد برای آپلود عکس کاربری استفاده میکنم ,

بعد از انجام کار در سمت کنترولر باید یک مقدار جیسون سه قسمتی رو به سمت View برگشت بدم .


                    // بروز کردن جدول
                    if (Bl_Users.Update(UserProfile))
                    {
                        return Json(new JsonData()
                        {                 
                            Success = true,
                            Script = MessageBox.Show("عکس کاربری با موفقیت آپلود شد", MessageType.Success).Script,
                            Html = ""
                        });
                    }
                    else
                    {
                        return Json(new JsonData()
                        {
                            Success = false,
                            Script = MessageBox.Show("خطا در اپلود" , MessageType.Warning).Script,
                            Html = ""
                        });
                    }



برای دریافت در سمت View به شکل زیر کد رو نوشتم ولی متاسفانه هیچ پیغامی نشون داده نمیشه.


از jquery-3.2.1.js و jquery.form-4.2.2.js استفاده میکنم !

سینتکس کلی درسته و در حالتی که مقدار Json رو برگشت ندم وچیزی هایی که درون تابع Success بنویسم اجرا میشه و مراحل رو هم دیباگ کردم و کل مراحل انجام میشه و تا آخرین خط در سمت کنترولر خونده میشه ولی تهش پیغامه نشون داده نمیشه.

لطفا راهنمایی کنید ؟

پنج شنبه, 16 شهریور 1396 17:33

شما مقدار html را خالی گذاشتید خب معلومه که نمایش نمیده!

پنج شنبه, 16 شهریور 1396 17:52

نه اون درسته , میخوام بعد پایان کار اون تگ که انتخاب شده htmlش پاک بشه !

خط  379 باید اون متنی که درون Script نوشتم رو بصورت پیغام تصویری در صفحه نمایش بده !

همین کار رو در خیلی از جاهای پروژه انجام دادم و بخوبی کار میکنه

$(".deleteProduct").click(function () {
    var id = $(this).attr("productid");
    var img = $(this);
    $.ajax({
        url: "/ShppingCart/RemoveCart",
        data: { Id: id },
        type: "Post",
        dataType: "Json",
        success: function (result) {
            if (result.Success) {
                $(".CartItems").html(result.Html);
            }
            eval(result.Script);
        },
        error: function () {
            alert("خطا!");
        }
    });
});

پنج شنبه, 16 شهریور 1396 18:32

به احتما 99% ناسازگاری با شیوه برگشت دادن JsonData() در سمت کنترولر هست .

شیوه دیگه ای برای برگشت دادن مقدار ودریافت مقدار در سمت View هست ؟

پنج شنبه, 16 شهریور 1396 20:09
جمعه, 17 شهریور 1396 15:16

ممنون استاد  مدائنی  ,

من هم از مورد اول و دوم که معرفی کردید استفاده میکنم .

سینتکس نوشتاری رو به شیوه ای که شما نوشتید تغییر دادم مشکل حل شد.

JsonData MyJson = new JsonData
                        {
                            Success = true,
                            Script = MessageBox.Show("عکس کاربری با موفقیت اپلود شد", MessageType.Success).Script
                        };
                        return Json(MyJson);

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید