الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف امنع تحديث الصفحة بعد submit لمنع اعادة ارسال البيانات

بدأه She في 18 فبراير 2013 · 5 رد · 1,293 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله

 

الأفاضل

 

كيف لي أن امنع اعادة ارسال البيانات مرة اخر

 

انا لدي فورم

بعد ضغط زر الارسال تظهر رسالة

انه تم العملية

بعدها اريد ان لا يستطيع ارسالها مرة اخرى

كيف ؟

 

استخدمت هذا لكن المشكلة انه لا يظهر رسالة

Response.Redirect(Request.RawUrl);

 

واستخدمت هذا وكان فيه مشكلة انه يظهر الرسالة ثم بعدها يستمر في عمل رفرش للصفحة ولا يتوقف

 ScriptManager.RegisterStartupScript(this, GetType(), "refresh", "window.setTimeout('window.location.reload(true);',5000);", true);

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#2

السلام عليكم ورحمة الله وبركاته

الرسالة يتم اظهارها باستخدام الجافا سكريبت

أما منع المستخدم من ارسال البيانات مرة اخرى فقم بتغيير خاصية Enabled لزر الارسال إلى false

ولكن قبل أن يتم الارسال يجب التأكد من عدم وجود نفس البيانات مسبقا في قاعدة البيانات

إذا أردت أن تـجـعـلـنـي سـعـيـداً ... فـعـلـمـنـي شـيـئـاً جـديـداً

#3

استخدم IsPostBack في حدث تحميل الصفحة حيث هذه الخاصية تقوم بالتحقق فيما اذا كانت الصفحة قد تم ارسالها أم لا 

تم تعديل هذه المشاركة بواسطة sufian2020 في 19 فبراير 2013 في 23:52

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#4

أخي Mr Mando

أنا أقصد أن بعد ما أعمل ارسال ومع أني عملت Enable لزر الأرسال الا انه اذا عمل للصفحة رفرش أو F5

يعمل اعادة ارسال للبيانات الموجودة في الفروم علما اني في الكود عملت فحص انه في حال كان المستخدم ارسل مسبقا فهو يظهر له الفورم دون قدرته على تغيير اجابته

 

أخي sufian2020 كيف استفيد من طريقتك ؟ هل IsPostBack تعني اذا عمل تحديث للصفحة سوف يحملها من جديد ..حسب معلوماتي البسيطة 

ان زر الرفرش يختلف عن PostBack مع اني لا اعرف معنى PostBack جيدا

 

 

لكم جميعا شكري 

 

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#5

السلام عليكم

IsPostBack تتحقق من ما إذا كانت الصفحة يعاد تحميلها أو يتم فتحها لأول مرة

على سبيل المثال

عند الضغط على أي زر يعمل على السيرفر سايد فإن الصفحة تقوم بالاتصال بالسيرفر ثم عمل PostBack وبالتالي أي كود في الـ Page_Load سوف يتم تنفيذه مرة أخرى ولذلك نستخدم IsPostBack للتأكد من أن الصفحة يتم تحميلها لأول مرة

ولمعرفة الفرق بطريقة عملية

ضعي Lable1 على الصفحة وفي الـ Page_Load نكتب الكود التالي

 

 

            if (Page.IsPostBack)
                Label1.Text = "Page Posted Back";
            else
                Label1.Text = "First Time Load";

اذا لم يتم حل المشكلة فبرجاء عمل مثال مصغر ووضعه حتى يمكن حلها

بالتوفيق

1

إذا أردت أن تـجـعـلـنـي سـعـيـداً ... فـعـلـمـنـي شـيـئـاً جـديـداً

#6

السلام عليكم

من الافضل استخدام 

Response.Redirect(Request.RawUrl);

ولاظهار الرسالة استخدم Session 

 

على السبيل المثال

 

session["msg"]="تم العملية بنجاح";

Response.Redirect(Request.RawUrl);

 

 

 في page load اظهر الرسالة وفرغ السيشن

 

 if (session["msg"]!=null)

{

label1.Text=session["msg"].toString();

session["msg"] =null;

}

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…