سؤال

عندي مشكلة غريبة هنا..

لدي تطبيق ASP.NET 3.5 يحتوي على GridView وSqlDataSource على Default.aspx.يتم ربط GridView بالبيانات إلى SqlDataSource.يحتوي GridView على زر لكل صف يسمى "عرض" يرسل المستخدم إلى صفحة منفصلة حيث يمكن تحرير الصف.

لقد قمت بتثبيتين لهذا التطبيق - أحدهما على جهاز الكمبيوتر المحمول الخاص بالتطوير، وهو XP الذي يعمل بنظام IIS 5.1 والآخر على خادم Windows 2003 الذي يعمل بنظام IIS 6.0.ملفات web.config متطابقة، وخصائص تكوين IIS متطابقة، وهي تصل إلى نفس قاعدة البيانات.

السلوك الذي أراه على الكمبيوتر المحمول الخاص بي هو "صحيح"، وهو كالتالي:1.افتح الصفحة، وحدد الصفحة 15 من شبكة البيانات عبر روابط الترحيل.2.انقر فوق زر عرض للسجل، وعرض صفحة التحرير.3.انقر فوق الزر "رجوع" وسيتم إرجاعك إلى صفحة Default.aspx، ويتم إعادة تحميل/تحديث GridView ببيانات جديدة.يؤدي النقر فوق "عرض" مرة أخرى إلى نقلك إلى العنصر المناسب.

على الخادم أرى هذا:1.افتح الصفحة، وحدد الصفحة 15 من شبكة البيانات عبر روابط الترحيل.2.انقر فوق زر عرض للسجل، وعرض صفحة التحرير.3.انقر فوق الزر "رجوع" وسيتم إرجاعك إلى صفحة Default.aspx، ويكون GridView كذلك لا إعادة تحميلها ببيانات جديدة (تنبثق على الفور).يؤدي النقر فوق "عرض" مرة أخرى إلى نقلك إلى خطأ غرض.

من الواضح أن هناك نوعًا ما من مشكلة التخزين المؤقت، لكن لا يمكنني اكتشافها...هل لديك أي أفكار؟

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

المحلول

لست متأكدًا من السبب الدقيق لذلك، أو سبب حدوثه، ولكن كما توقعت، كانت مشكلة في التخزين المؤقت.عندما أضيف العبارة:

Response.CacheControl = "no-cache";

إلى Default.aspx.cs، تختفي المشكلة.ليس من المستغرب أن يفسد زر الرجوع نمط الطلب، لكنني وجدت أنه من المفاجئ أن يتعامل IIS 5.1 الذي يعمل على الكمبيوتر المحمول مع زر الرجوع بشكل أفضل من IIS 6.0...

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