تاپیک مورد نظر بسته شده است
درود ,
در انتهای دستورات یک اکشن که به صورت ایجکسی درخواست و Post کردن اطلاعات به آن انجام میشود یک دستور :
return RedirectToAction("GaleryImage?Id=" + P_Id);
رو نوشتم ولی وقتی به این خط کد میرسه کاری نمیکنه !
توضیح کاربرد {
بعد اینکه در یک صفحه اطلاعات کامل محصول رو میگیرم و کامل درج شد میخوام بفرستمش به اکشنی دیگه که تصاویر گالری رو وارد کنه .
قبلش این کار رو بصورت ایجکسی و Replace به جای کل اطلاعات صفجه جاری انجام دادم ولی چون در این حالت با رفرش صفحه دیگه نمیشه به صفحه دسترسی داشت از این روش صرف نظر کردم.
}
دلیلی این مورد اینه که چون درخواست ایجکسی بوده امکان رفتن به یک اکشن دیگه وجود نداره ؟
چه کدی بنویسم که بره به اکشن مورد نظر که میخوام ؟
نمی تواند اکشن مربوطه را تشخیص دهد به این دید که پارامتری که باید به آن ارسال شود را درون نام اکشن قرار داده اید، اگر دقت کنید این متد چند پارامتر دریافت می کند که یکی از آن ها مقادیر route می باشد برای ارسال route value که در این قسمت Id است به صورت زیر عمل می کنیم:
return RedirectToAction("myaction" , new {Id = id})
ممنون مهندس ,
با دیباگ برسی کردم این کد که شما گفتید به درستی کار میکنه و به رویداد [HttpGet] اکشن موردنظر میره :
ولی بعدش بازهم اتفاقی نمیفته و مرورگر فقط صفحه جاری رو نشون میده.
فکر کنم دلیل اصلیش ایجکس بودن Form و عملیات هست ,درسته ؟
ممنون مفید بود , منتهی من برای ارسال فورم به سمت کنترولر به شکل زیر کار کردم و از کد Jquery استفاده نکردم , در تابع OnSuccess کد رو نوشتم :
منتهی مشکلی که هست اینه که در هر بار پست شدن سمت کنترولر و برگشت دوباره به View این تابع OnSuccess اجرا میشه ,
در حالی که من میخوام اگه همه مراحل رو انجام داد و به انتهای اکشن رسید این تابع اجزاه اجرا داشته باشه ,
برای این کار به چه شکل باید عمل کرد ؟
در سمت کنترولر به این شکل مقدار رو برگشت دادم و حل شد ,
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
ممنون مهندس علیزاده .
هیچ کاربری تا کنون از این پست تشکر نکرده است
تاپیک مورد نظر بسته شده و امکان درج پاسخ وجود ندارد
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)