با سلام
من یک فرم ارتباط با ما دارم که بعد از این که اطلاعاتم رو سمت سرور ارسال می کنم با رفرش شدن صفحه دوباره سعی بر ارسال مجدد اطلاعات در سرور را دارد.
البته من با قرار دادن سشن بر سر راه و با چک کردن این که سشن خالی است یا پر از ارسال مجدد و درج در پایگاه جلوگیری کردم ولی نمی دونم چه طور باید از این که مرور گر پیغام زیر رو نشون نده جلو گیری کرد .
من خودم بعد از ثبت کاربر را با استفاده از rESPONSE.rEDIRECT به همین صفحه بر میگردونم
اینجوری کش مرورگر خالی میشه و از ارسال مجدد اطلاعات جلوگیری خواهد شد
این راه رو تست کرده بودم .
منتها یک مشکل داشتم باهاش و اونم این بود که بعد از ثبت پیام من اومدم یک alert مبنی این که پیغام شما با موفقیت ثبت شد گذاشتم . در صورتی که redirect بشه اون پیغام نمایش داده نمیشه !!؟؟
با این چیکار کنم؟
میتونید در Redirect یک پارامتر ارسال کنید که در صورت وجود اون پارامتر در URL پیغام مورد نظر را نمایش دهید
مثل زیر
/Default.aspx?Success=True
ممنون .
با همون سشن این چنین کاری کردم
Session["Sended"] = true; Response.Redirect("Default.aspx");
و بعد هم داخل لودشدن صفحه این طوری بررسی کردم :
if (Convert.ToBoolean(Session["Sended"])) { Response.Write("<script>alert('پیام شما با موفقیت ارسال شد.');</script>"); Session["Sended"] = false; }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)