سؤال

لدي عنصر تحكم مخصص يقوم بتنفيذ IPostBackEventHandler.تستدعي بعض الأحداث من جانب العميل __doPostBack(controlID,eventArgs).

يتم تطبيق عنصر التحكم في عنصري تحكم مختلفين للمستخدم.في أحد عناصر التحكم، يتم تشغيل RaisePostBackEvent على جانب الخادم عندما __doPostBack يتم استدعاؤه.في عنصر التحكم الآخر، لا يتم استدعاء RaisePostBackEvent أبدًا.لقد راجعت __EVENTTARGET المعلمة وهي تتطابق مع ClientID لعنصر التحكم ...في أي مكان آخر يمكن أن أبحث عنه لتحري الخلل وإصلاحه؟

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

المحلول

هناك الكثير من الطرق التي يمكن أن ينهار بها هذا.هل تقوم بإضافة عنصر التحكم إلى الصفحة ديناميكيًا في التعليمات البرمجية الخلفية؟إذا كان الأمر كذلك في كثير من الأحيان، فمن الممكن أن يتم إيقاف تشغيل UniqueID الخاص بك - على الرغم من أن معرفات العميل متساوية.هل لديك نموذج تعليمات برمجية قد يوضح ما تفعله؟

نصائح أخرى

تأكد مرة أخرى من أنه بالفعل اشتقاق لفئة UserControl، وليس فئة WebControl.
لقد فاجأني هذا عدة مرات.إذا كنت بحاجة إلى استخدام WebControl للتصميم، فأنت بحاجة إلى السماح لعنصر التحكم الخاص بك بتنفيذ INamingContainer.(لا تقلق، إنها واجهة علامة)

لذا..

public class MyControl : UserControl {}

أو

public class MyControl : WebControl, INamingContainer {}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top