سؤال

أحتاج إلى تنفيذ زر الرجوع لموقع الويب الخاص بي asp.net. أنا قادر على استخدام طريقة جافا سكريبت لتحقيق متطلباتي. ولكن باستخدام هذه الطريقة أحيانًا أحتاج إلى النقر على زر الرجوع عدة مرات للعودة إلى الصفحة السابقة .قد يكون السبب في ذلك أننا نستخدم علامات تبويب jquery في موقعنا على الويب. للتركيز على علامة تبويب معينة، بخلاف علامة التبويب الأولى عند تحميل الصفحة، أستخدم Page.ClientScript.RegisterStartupScript(....). لذلك لا أستطيع تحمل ذلك عودة المستخدم إلى الصفحة السابقة بنقرة واحدة فقط.

لقد حاولت أيضًا باستخدام طرق asp.net-C# المذكورة في الرابط التالي.http://www.dotnetcurry.com/ShowArticle.aspx?ID=89أستطيع العودة إلى الصفحة السابقة، ولكن حالتها مفقودة. هل يمكن لأحد أن يساعدني في تحقيق متطلباتي؟

تفاصيل:
لدي page1.aspx,page2.aspx(الذي يحتوي على عرض/تحرير علامات تبويب jquery).

يوجد في page1.aspx زرين (عرض، تحرير). إذا قمت بالنقر فوق زر عرض، فسيأخذني إلى علامة التبويب عرض page2.aspx (علامة التبويب الأولى) وإذا قمت بالنقر فوق زر التحرير، فسيأخذني إلى الصفحة 2. aspx مع تحميل علامة التبويب "تحرير". تحتوي كل من علامتي التبويب "عرض/تحرير" على زر الرجوع.

أيضًا من علامة التبويب "عرض" يمكنني الانتقال إلى علامة التبويب "تحرير"، من خلال النقر على زر "تحرير" آخر موجود فيه.

شكرًا.

هل كانت مفيدة؟

المحلول

إن الطرق التي تناولتها في سؤالك هي في الأساس ما هو متاح لك.
يمكنك إما
1.قم بتوفير رابط يستخدم جافا سكريبت لجعل العميل يعود إلى الصفحة.
2.قم بتوفير رابط للنشر مرة أخرى إلى الخادم الذي يعيد توجيهك إلى الصفحة مرة أخرى.

لست متأكدًا من السبب وراء قيام jquery الموجود في نموذج الويب الخاص بك كما هو موضح في سؤالك بالنقر فوق المزيد مرة واحدة للعودة.إذا كنت تعلم أن الأمر سيستغرق دائمًا نقرتين للرجوع، فيمكنك تجربة هذه الطريقة:

javascript: window.history.go(-2)

عندما تستخدم طريقة إعادة النشر/إعادة التوجيه، ستستخدم دائمًا طريقة http GET لاسترداد الصفحة التي تعيدها أيضًا.إذا كنت ترغب في الحفاظ على الحالة، فسيتعين عليك القيام بذلك يدويًا، أي.احفظ القيم عند مغادرة الصفحة في مكان ما، مثل الجلسة أو قاعدة البيانات المؤقتة، وعند العودة إلى الصفحة، أثناء تحميل الصفحة، تحقق لمعرفة ما إذا كان المستخدم قد حفظ هذه القيم وقم بتعبئتها مسبقًا.

نصائح أخرى

لقد فعلت شيئًا مشابهًا (مع عمليات إعادة التوجيه التلقائية) واضطررت إلى تتبع عدد الصفحات للعودة إلى حالة العرض الخاصة بي (أو الجلسة إذا كنت تنتقل من صفحة إلى أخرى):

رمز خلف

public void Page_Load()
{
    Session["pagesToGoBack"] = ((int)Session["pagesToGoBack"])++;
}

وضع علامة على:

<input type="button" value="Back" onclick='javascript:history.go(<%= Session["pagesToGoBack"] %>);' />

كن حذرًا لإعادة تعيين متغير الجلسة عند الحاجة

جعلني أشعر بالقذارة بعض الشيء لكنه نجح :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top