هل من الممكن تعطيل ViewState في ASP .NET؟
-
28-10-2019 - |
سؤال
أنا أستخدم عناصر تحكم من جانب الخادم تابعة لجهة خارجية على موقع الويب الخاص بي (Telerik RadControls for ASP .NET).يحتوي عنصر التحكم في القائمة على بنية معقدة تؤدي إلى تضخم حجم حالة العرض مما يؤثر على أوقات التحميل.لست على علم بتفاصيل حالة العرض باستثناء أنه يستخدمها خادم الويب لتتبع قيم التحكم.
نظرًا لأن معظم الصفحات الموجودة على موقع الويب الخاص بي يتم عرضها فقط، فهل من الممكن تعطيل حالة العرض حيث لا يتم أخذ مدخلات المستخدم؟يتم إعادة إنشاء كافة العناصر الديناميكية عند تحميل الصفحة في أي حال.
المحلول
إذا كنت تستخدم asp.net 4، فيمكنك استخدام ViewStateMode
خاصية للتحكم في إنشاء حالة العرض لعناصر التحكم. طريقة عرض الحالة
إذا كنت لا تستخدم asp.net 4، فيمكنك تشغيل حالة العرض على مستوى الصفحة أو عنصر التحكم.
<%@ Page Language="C#" EnableViewState="false"%> //disabling viewstate.
http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableviewstate.aspx
نصائح أخرى
في الجزء العلوي من صفحة aspx ، أضف المعلمة enableViewstate="false" على الصفحات التي لا تحتاج إليها.لن يؤدي إلى تعطيل حالة العرض تمامًا على الرغم من ذلك ، ولكنه يقلل الحجم بجدية
لم أختبر هذا ، لكنني أعتقد أنه ممكن ..
في ملف Web.config ، أضف السمة إلى علامة الصفحات بدلاً من ذلك ، ثم في تلك الصفحات التي تريد تمكينها فيها ، أضف السمة مع true في الجزء العلوي
هناك طرق مختلفة لتعطيل حالة العرض.في حالتك ، أوصي بتعطيل حالة العرض في عنصر التحكم: Genacodicetagpre