ورود

View Full Version : سوال: کارنکردن RedirectToAction در حالت درخواست ایجکسی



alibahman47
جمعه 17 شهریور 1396, 15:07 عصر
درود ,
در انتهای دستورات یک اکشن که به صورت ایجکسی درخواست و Post کردن اطلاعات به آن انجام میشود یک دستور :


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

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





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

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

}


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

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

Moien Tajik
جمعه 17 شهریور 1396, 15:37 عصر
دقیقا مشکل همون هست که خودتون گفتید ، از ajax post نمیتونید RedirectToAction بزنید .
راه حل این هست که با Javascript در success به مسیر مورد نظرتون برید :
https://stackoverflow.com/a/20011363
https://stackoverflow.com/a/23893974

alibahman47
جمعه 17 شهریور 1396, 20:09 عصر
ممنون , این دو روش عالین ولی من برای ارسال فورم به سمت کنترولر به شکل زیر کار کردم و از کد Jquery استفاده نکردم:


http://s8.picofile.com/file/8305893642/Controller.jpg

در رویداد OnSuccess مربوط کد رو نوشتم ولی بازهم کار نمیکنه !
کد که اونجا نوشته بود همین بود , درسته ؟

alibahman47
جمعه 17 شهریور 1396, 21:47 عصر
دقیقا مشکل همون هست که خودتون گفتید ، از ajax post نمیتونید RedirectToAction بزنید .
راه حل این هست که با Javascript در success به مسیر مورد نظرتون برید :
https://stackoverflow.com/a/20011363
https://stackoverflow.com/a/23893974

خوب مشکل حل شد و این کد کار میکنه :
http://s8.picofile.com/file/8305899492/Success.jpg
منتهی مشکلی که هست اینه که در هر بار پست شدن سمت کنترولر و برگشت دوباره به View این تابع OnSuccess اجرا میشه ,
در حالی که من میخوام اگه همه مراحل رو انجام داد و به انتهای اکشن رسید دستور رفتن به اکشن دیگه اچرا بشه ,
برای این کار بنظرتون به چه شکل میشه عمل کرد ؟

Moien Tajik
جمعه 17 شهریور 1396, 22:14 عصر
اگر روش کارتون رو درست متوجه شده باشم ، میتونید از اکشنی که در success ازش response میگیرید ، یک bool برگردونید ، اگر true بود یعنی کار اکشن کامل انجام شده ، اونموقع redirect کنید .

alibahman47
جمعه 17 شهریور 1396, 22:24 عصر
اگر روش کارتون رو درست متوجه شده باشم ، میتونید از اکشنی که در success ازش response میگیرید ، یک bool برگردونید ، اگر true بود یعنی کار اکشن کامل انجام شده ، اونموقع redirect کنید .

دقیقا همینه که گفتید ,
منتهی من چطور میتونم یک مقدار رو در اکشن برگردونم و در تابع دریافتش کنم ؟

Moien Tajik
جمعه 17 شهریور 1396, 22:32 عصر
https://stackoverflow.com/a/19722983/6661314
https://stackoverflow.com/a/26605931/6661314

alibahman47
جمعه 17 شهریور 1396, 22:53 عصر
https://stackoverflow.com/a/19722983/6661314
https://stackoverflow.com/a/26605931/6661314

دمت گرم آقای تاجیک خیلی آقایی , حل شد.