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

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

تاپیک مورد نظر بسته شده است

کاربر سایت

alibahman47

عضویت از 1395/11/13

کارنکردن RedirectToAction در حالت درخواست ایجکسی

  • جمعه 17 شهریور 1396
  • 15:29
تشکر میکنم

درود ,

در انتهای دستورات یک اکشن که به صورت ایجکسی درخواست و Post کردن اطلاعات به آن انجام میشود یک دستور :

 return RedirectToAction("GaleryImage?Id=" + P_Id);

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

توضیح کاربرد {

بعد اینکه در یک صفحه اطلاعات کامل محصول رو میگیرم و کامل درج شد میخوام بفرستمش به اکشنی دیگه که تصاویر گالری رو وارد کنه .

قبلش این کار رو بصورت ایجکسی و Replace به جای کل اطلاعات صفجه جاری انجام دادم ولی چون در این حالت با رفرش صفحه دیگه نمیشه به صفحه دسترسی داشت از این روش صرف نظر کردم.

}

دلیلی این مورد اینه که چون درخواست ایجکسی بوده امکان رفتن به یک اکشن دیگه وجود نداره ؟

چه کدی بنویسم که بره به اکشن مورد نظر که میخوام ؟

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

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

سهیل علیزاده

عضویت از 1396/04/09

  • جمعه 17 شهریور 1396
  • 18:26

نمی تواند  اکشن مربوطه را تشخیص دهد به این دید که پارامتری که باید به آن ارسال شود را درون نام اکشن قرار داده اید، اگر دقت کنید این متد چند پارامتر دریافت می کند که یکی از آن ها مقادیر route می باشد برای ارسال route value که در این قسمت Id است به صورت زیر عمل می کنیم:

            return RedirectToAction("myaction" , new {Id = id})

کاربر سایت

alibahman47

عضویت از 1395/11/13

  • جمعه 17 شهریور 1396
  • 19:01

ممنون مهندس ,

با دیباگ برسی کردم این کد که شما گفتید به درستی کار میکنه و به رویداد [HttpGet] اکشن موردنظر میره :

ولی بعدش بازهم اتفاقی نمیفته و مرورگر فقط صفحه جاری رو نشون میده.

فکر کنم دلیل اصلیش ایجکس بودن Form و عملیات هست ,درسته ؟

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • جمعه 17 شهریور 1396
  • 19:54
کاربر سایت

alibahman47

عضویت از 1395/11/13

  • جمعه 17 شهریور 1396
  • 23:00

 ممنون مفید بود , منتهی من برای ارسال فورم به سمت کنترولر به شکل زیر کار کردم و از کد Jquery استفاده نکردم , در تابع OnSuccess کد رو نوشتم :


منتهی مشکلی که هست اینه که در هر بار پست شدن سمت کنترولر و برگشت دوباره به View این تابع OnSuccess اجرا میشه ,
در حالی که من میخوام اگه همه مراحل رو انجام داد و به انتهای اکشن رسید این تابع اجزاه اجرا داشته باشه ,
برای این کار به چه شکل باید عمل کرد ؟

کاربر سایت

alibahman47

عضویت از 1395/11/13

  • جمعه 17 شهریور 1396
  • 23:27

در سمت کنترولر به این شکل مقدار رو برگشت دادم و حل شد ,

return Json(new { success = true }, JsonRequestBehavior.AllowGet);

ممنون مهندس علیزاده .

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

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

تاپیک مورد نظر بسته شده و امکان درج پاسخ وجود ندارد

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

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