PDA

View Full Version : مشکل با رفرش صفحه و انجام مجدد یک عمل



sg.programmer
سه شنبه 27 دی 1390, 17:46 عصر
سلام
یک دکمه در صفحه دارم که با کلیک کردن اون عددی که در تکست باکس هست را ذخیره میکنه در جدول.
چرا موقع ای که رفرش در بالای صفحه یا F5 هست را میزنم بازهم همین مقدار دوباره در جدول ذخیره میشه چی کار کنم که این اتفاق نیفته
-------------
یا چطوری میشه جلوگیری کرد از دوباره انجام دادن یک دکمه بعد از رفرش مجدد یک صفحه

alonemm
سه شنبه 27 دی 1390, 17:50 عصر
باسلام:
قبل از ذخیره در جدول توسط یک متد چک کنید که این مقدار قبلا ثبت نشده باشه و یا فیلد رو کلید تعریف کنید.

hamid_shrk
سه شنبه 27 دی 1390, 18:00 عصر
باسلام:
قبل از ذخیره در جدول توسط یک متد چک کنید که این مقدار قبلا ثبت نشده باشه و یا فیلد رو کلید تعریف کنید.
کلا وقتی یکبار اطلاعات رو ثبت میکنیم و بعد f5 رو میزنیم این اتفاق میوفته.
مثلا کلی اطلاعات درج میکنیم / نمیشه که چک کرد تکراری هست یا نه .این پیغام رو هم میده :
80994

بنظر اجتناب نا پذیره / درسته؟

crazy_1892
سه شنبه 27 دی 1390, 18:00 عصر
کد های مربوط به button را درون شرط زیر قرار بده

If(ispostback)
{

}

behnamhh
سه شنبه 27 دی 1390, 18:15 عصر
البته به اعتقاد من باید داخل این شرط بنویسی
If(!ispostback)
{

}

alonemm
سه شنبه 27 دی 1390, 18:15 عصر
کلا وقتی یکبار اطلاعات رو ثبت میکنیم و بعد f5 رو میزنیم این اتفاق میوفته.
مثلا کلی اطلاعات درج میکنیم / نمیشه که چک کرد تکراری هست یا نه .این پیغام رو هم میده :
80994

بنظر اجتناب نا پذیره / درسته؟

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

مهم داده های ما در پایگاه داده هست که به هر علتی یونک باشه پس کنترل مهمه نه اینکه کاربر دوست داره یک دکمه رو چندبار بزنه.

hamid_shrk
سه شنبه 27 دی 1390, 18:18 عصر
درسته و این به خود کاربر ربط داره و این گزینه هم میگه که دوست دارید دوباره دیتا رو بفرستید یا خیر / وقتی resend رو بزنه مشکل از خودشه دیگه.
میخواستم ببینم جلوش رو میشه گرفت یا نه
ممنون

sg.programmer
سه شنبه 27 دی 1390, 18:30 عصر
تشکر
آیا درسته که یک بار دیگر دیتا به سرور فرستاده بشه؟ یا باید از ispostback استفاده گردد و یا روش دیگری وجود داره؟

alonemm
پنج شنبه 29 دی 1390, 12:03 عصر
درسته و این به خود کاربر ربط داره و این گزینه هم میگه که دوست دارید دوباره دیتا رو بفرستید یا خیر / وقتی resend رو بزنه مشکل از خودشه دیگه.
میخواستم ببینم جلوش رو میشه گرفت یا نه
ممنون

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


موفق باشید.

alonemm
پنج شنبه 29 دی 1390, 12:04 عصر
تشکر
آیا درسته که یک بار دیگر دیتا به سرور فرستاده بشه؟ یا باید از ispostback استفاده گردد و یا روش دیگری وجود داره؟

بستگی به نوع و سبک کد نویسی شما داره معمولا اگر کدی دارید که فقط میخواید یک بار در لود انجام بشه باید از ispostback استفاده کنید.
مثل صفحاتی که از تکنولوژی َAjax استفاده میکنند.



شاد باشید.