عند إنشاء عنصر تحكم ويب يجب عليك تجاوز OnLoad أو تنفيذ Page_Load

StackOverflow https://stackoverflow.com/questions/147033

  •  02-07-2019
  •  | 
  •  

سؤال

عند إنشاء عنصر تحكم مستخدم ويب في visual studio افتراضيا يضيف الحدث Page_Load.ما هي ميزة استخدام هذا بدلا من تجاوز قاعدة OnLoad حدث عن السيطرة ؟ هل هو فقط أن Page_Load وقع حدث من قبل OnLoad?

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

المحلول

على OnLoad الأسلوب يجب أن يكون المكان الذي Load الحدث هو رفع.أنا شخصيا دائما في محاولة للتعامل مع هذا الحدث إلا إذا كنت بحاجة إلى القيام به معالجة إضافية حول رفع الحدث.

أنصح التعامل مع الحدث نفسه تحت الظروف العادية.

نصائح أخرى

قد تجد هذا المادة على صفحة حياة من مايكروسوفت مفيدة.

كما ترون أعلاه, فإنه لا يأتي في الغالب إلى اختيار الشخصية إذا كان هذا الاختيار معرفة.أفضل سريعة ولكن الصلبة نظرة عامة لقد رأيت في http://weblogs.asp.net/infinitiesloop/archive/2008/03/24/onload-vs-page-load-vs-load-event.aspx

انها حقا مجرد مسألة اختيار.بالنسبة لي يبدو غريبا بالنسبة كائن إرفاق الحدث نفسه ، وخاصة عندما يكون هناك طريقة يمكنك تجاوز.

أعتقد ASP.NET استخدم فريق الأحداث لأن هذا هو النموذج العالمي.آسا في آسيا والمحيط الهادئ ، و خفض بار للمطورين الذين لا يفهمون الميراث و تجاوز طرق افتراضية.

تجاوز طريقة لا تتطلب المزيد من المعرفة حول دورة حياة الصفحة, ولكن لا يوجد شيء "خطأ" مع ذلك.

قراءة قسم يسمى: "ملزمة صفحة الأحداث" على MSDN صفحة بعنوان: "ASP.NET تحكم ملقم ويب نموذج الحدث" (رابط الصفحة) هناك بعض المعلومات المفيدة في هذه عبارات مثل هذه:

عيب واحد من AutoEventWireup السمة هو أنه يتطلب أن الصفحة معالجات الأحداث محددة يمكن التنبؤ بها أسماء.هذا يحد من المرونة في كيفية تسمية معالجات الأحداث.وثمة عيب آخر هو أن الأداء سلبا, لأن ASP.NET البحث عن أساليب في وقت التشغيل.لموقع على شبكة الإنترنت مع ارتفاع حجم حركة المرور ، وأثر على الأداء يمكن أن تكون كبيرة.

(AutoEventWireup العلم يتحول على مثل هذه الأساليب مثل Page_Load)

حتى ولو كنت وراثة من UserControl, أعتقد أن عليك البقاء بعيدا عن تجاوز حماية الطرق إذا لم يكن لديك إلى.على Page_Load هناك لجعل من الأسهل بالنسبة لك بإضافة التعليمات البرمجية الخاصة بك UserControl.

فقط تجاوز OnLoad إذا كنت بحاجة إلى السيطرة المطلقة عند(/إذا) في Load الحدث هو النار (التي ينبغي أن تكون نادرة ، المنظمة البحرية الدولية).

أعتقد انها نفس.IMHO مع الأحداث ، لديك قليلا من مزيد من المرونة ، لأنك يمكن أن يحدث أكثر من واحد المستمع إلى هذا الحدث الخاص بك!

أعتقد أن هناك أحد يحتمل اختلاف كبير في طريقتين.

ما أنا في اشارة الى هو القدرة على السيطرة على تسلسل التنفيذ.

إذا كنت الغالبة ، تعرف متى فئات أساسية الحمل سوف تأخذ مكان لأن الذي تتصل عليه.وهذا يوفر المزيد من التحكم ، ولكن ربما هو شيء سيء العديد من يجادل.

إذا كنت تستخدم هذا الحدث, لا يوجد لديك ضمان من حيث الترتيب من المكالمة.وهذا يفرض عليك أن تكتب الحمل الحدث الذي ينبغي أن يكون الملحد حول ما فائقة فئات خلال مرحلة الحمل.وأعتقد أن هذا النهج المفضل و ربما هذا هو السبب في مقابل السيارات-الشفرة التي تم إنشاؤها بهذه الطريقة.

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