إعادة التوجيه من نافذة Telerik Rad
-
21-09-2019 - |
سؤال
في تطبيق الويب ASP.NET ، لدي نافذة منبثقة مشروطة مع نافذة Telerik Rad. في هذا المنبثقة ، يوجد زر يجب أن يقوم ببعض الإجراءات في "الكود-بيهيند" ثم إعادة توجيه التطبيق إلى صفحة أخرى.
لإعادة التوجيه ، أستخدم الأمر javaScript 'top.document.location.href = myPage' (تم إرساله إلى المتصفح من الكود مع scriptManager.registerClientsblock (...)).
هذا يحل مشكلتي لكنه ليس لطيفًا جدًا. عند الضغط على الزر ، يؤدي هذا إلى ظهور ما بعد الظهير. في المتصفح ، يتم تغطية النوافذ المنبثقة بواسطة radloadingpanel الذي يؤكد عند الانتهاء من الظهير. ثم خلال بضع ثوان ، لا يحدث شيء في التطبيق ، وبعد بعض الوقت يقوم المتصفح بتحميل الصفحة الجديدة.
حقيقة أن لا شيء يحدث خلال ثانية قليلة ليست رائعة لأن المستخدم لا يستطيع معرفة ما يفعله التطبيق.
ماذا يمكنني أن أفعل ؟ هل هناك طريقة أفضل للقيام بإعادة التوجيه؟ (أنا جديد جدًا على برمجة JavaScript ...).
المحلول
بدلاً من مجرد استدعاء "top.document.location.href = myPage" ، يمكنك استدعاء وظيفة تعرض تراكبًا (على سبيل المثال ، عرض RadaaxloadingPanel على جسم الصفحة الأصل) ثم تعيين عنوان URL الجديد. نرى http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html للحصول على معلومات حول كيفية عرض لوحات التحميل مع JavaScript.
أعتقد أن التأخير بعد تعيين موقع. Href طبيعي - يستغرق المتصفح/الخادم بعض الوقت لاسترداد الصفحة الجديدة HTML بحيث لا يمكن للصفحة القديمة أن تختفي على الفور.