جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
سلام دوستان
وقتی یک عملیاتی رو روی بانک sql ام انجام میدم ، آپدیت یا ثبت رکورد جدید .... اگه صفحه رفرش بشه ، این query دوباره اجرا میشه. مثلا اگه یک رکورد ساختم اگه صفحه به صورت دستی رفرش بشه دوباره اون رکورد ساخته میشه...هرچندبار که رفرش کنیم همین کار ادامه پیدا میکنه...
چطور میتونم کاربر رو ملزم کنم که اگه صفحه به مشکل خورد و مجبور شد رفرش کنه مراحل رو از اول انجام بده و کد قبلی که اون درخواست داده بود (ایجاد یک رکورد ، مثل ثبت یک کالا) دوباره اجرا نشه ؟
___________
با تشکر
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
شما میای توی catch میگی اگر ارور داد دوباره Response.Redirect بدی به همون صفحه ای که الان هست.
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
نقل قول:
نوشته شده توسط
KamranShakh
شما میای توی catch میگی اگر ارور داد دوباره Response.Redirect بدی به همون صفحه ای که الان هست.
سلام
دوست عزیز ارور که نمیده ، مثلا من یک کامندی رو اجرا میکنم ، اون اطلاعاتو توی پایگاه اضافه میکنه ، پیج پست بک میشه .... حالا من دکمه رفرش مرورگرمو بزنم دوباره اینکار تکرار میشه ... من نمیخوام با رفرش کردن اینکار ادامه پید کنه...
آهان...پس منظورتون اینه که درآخر هر کامندم یک Response.Redirect بزارم ؟که با رفرش کردن دیگه اتفاقی نیوفته...
توی بعضی سایتا وقتی یک کاریو انجام میدی رفرش کنی ، تشخیص میده و به کاربر اعلام میکنه تمام مراحل رو از ابتدا شروع کنید...پس اون چطوریه ؟
توجه کنین که اروری در کار نیست....مثلا توی سایت ثبت نام کنکور توی بک کردن پیج ها این پیغام رو گذاشتن.
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
شما میتونین از viewstate استفاده کنین که بعد از عملیات مقدارش رو تغییر بدین یا مثلا در عملیات درج شما بعد از درج رکورد مقادیر موجود در TextBox ها رو پاک کنین و قبل از درج هم حتما چک کنین که مقادیر حتما مقدار داشته باشن
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
میشه بیشتر توضیح بدین؟!
من هم این مشکل را دارم، بدون هیچ خطایی اطلاعات در دیتابیس ذخیره میشه، بعدش اگه صفحه را رفرش کنی باز اقدام به ذخیره کردن همان اطلاعات میکنه
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
اگه تو جدولی که این اتفاق توش میفته به جز کلید اصلیتون فیلد دیگه ای دارید که یونیک هستش قبل از insert کردن با اون فیلد یونیک چک کنید ببینید به همچین رکوردی قیلا ثبت شده یا نه.
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
با درود
کار خیلی اسونی
شما فقط نیاز داری از کد
if(!IsPostBack)
{
کدی که برای ارسال کردن دیتا به دیتابیس استفاده می شه
}
و از همه مهم تر این کد رو در page_load پیجت باید قرار بدی پس از ان همه چیز درست یمی شه
پیروز باشی
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
من تو رویداد کلیک کردن دارم دیتا رو تو دیتابیس ذخیره می کنم، پس نمیشه از رویداد page_load استفاده کنم
نقل قول: جلوگیری از اجرای دوباره query بانک اطلاعاتی با referesh کردن صفحه
نقل قول:
نوشته شده توسط
powerdangerouseb
با درود
کار خیلی اسونی
شما فقط نیاز داری از کد
if(!IsPostBack)
{
کدی که برای ارسال کردن دیتا به دیتابیس استفاده می شه
}
و از همه مهم تر این کد رو در page_load پیجت باید قرار بدی پس از ان همه چیز درست یمی شه
پیروز باشی
بازم وارد میشه قبلا تست شده:بامزه:
همون لینکی رو دوستمون tooraj_azizi_1035 دادن رو امتحان کنید