إضافة انقر على أزرار حدث الارتباط الحيوي في OnLoadComplete

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

سؤال

وأنا إنشاء ملف متصفح في ASP.Net لكنني واجهت مشكلة التي أعتقد أنها تتعلق حدث wireing على التحكم الديناميكي. ساوضح ما يفعله قانون بلدي هنا:

عند تحميل الصفحة الخاصة بي (ONLOAD) ط استدعاء أسلوب (createStuff ()) أن إنشاء عدد من linkbuttons (تمثل المجلدات في الدليل الحالي) الذي يتم السلكية إلى حدث تغيير الدليل الحالي إلى واحد مقترن مع linkbutton.

ولما كان يسمى وأطلقت بعد ONLOAD linkbutton مزدوجا فوق الحدث (والدليل الحالي ومن ثم يتم تغيير لأول مرة بعد ONLOAD) وlinkbuttons لا يتم تحديث لتعكس الدليل الحالي الجديد (يتم إنشاؤها قبل تغيير الدليل الحالي بواسطة النقر الحدث). لذلك أنا أيضا استدعاء createStuff () في OnLoadComplete مما أدى إلى linkbuttons يتم تحديثه وتعكس المجلدات في الدليل الحالي الجديد.

ولكن (وهذا هو مشكلتي) يبدو أن wireing الحدث (اضغط + = EventHandler الجديد (changeDirectory)) أفعل في createStuff () لا يعمل حقا عندما يتم استدعاء الأسلوب في OnLoadComplete (يسمى OnLoadComplete بعد وقد أطلق linkbutton مزدوجا فوق الحدث). والنتيجة هي أنه في حين أن الملكية نص linkbuttons تعكس المجلدات في دليل جديد بالنقر على linkbuttons لا إطلاق الحدث.

وكيف يمكنني حل هذه المشكلة؟ حاولت rewireing الأحداث على LinkButtons في ONLOAD ولكن نفس النتيجة.

وشكرا لكم مقدما

وسيمون، الدنمارك

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

المحلول

وتعيين خاصية ID وLinkButton وباستمرار.

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

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

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