عناصر التحكم المخصصة لـ ASP.NET ونموذج الحدث "الديناميكي".

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

سؤال

حسنًا، لست متأكدًا مما إذا كان العنوان دقيقًا تمامًا، أم لا، مفتوحًا للاقتراحات!

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

أفكر في نموذج الحدث.نظرًا لأننا لا نستخدم عناصر تحكم الويب، فلا توجد أحداث يتم إطلاقها من الأزرار، بل أقوم بالاتصال يدويًا __doPostBack مع الحجج المناسبة.ومع ذلك، يمكن أن يعني هذا بوضوح أن هناك الكثير من عمليات إعادة النشر التي تحدث عند تحديد الخيارات (والتي تظهر بشكل مختلف عند تحديدها).

بمرور الوقت، سأحتاج إلى جعل Ajax-y أكثر استجابة واستجابة، لذلك سأحتاج إلى تغيير ربط الحدث لاستدعاء Javascript المحلي.

لذلك، كنت أفكر أنني يجب أن أكون قادرًا على تبديل "وضع" عنصر التحكم، فيمكنه إما استخدام إعادة النشر والتعامل مع نفسه، أو يمكنك تحديد أسماء وظائف Javascript للاتصال بها بدلاً من doPostBack.

  • ما هي أفكارك حول هذا؟
  • هل أقترب من رفع الأحداث عن الرقابة بطريقة خاطئة؟(مفتوح تمامًا للاقتراحات هنا!)
  • كيف يمكنك التعامل مع مشكلة مماثلة؟

تحرير - للتوضيح

  • أقوم بإنشاء عنصر تحكم مخصص (على سبيل المثال.يرث من WebControl).
  • نحن لا نستخدم عناصر تحكم الويب الموجودة لأننا نريد التحكم الكامل في المخرجات المقدمة.
  • AFAIK الطريقة الوحيدة لحدوث حدث من جانب الخادم من عنصر تحكم مخصص معروض هي استدعاء doPostBack من العناصر المقدمة (يرجى التصحيح إذا كان خطأ!).
  • ASP.NET MVC ليس خيارًا.
هل كانت مفيدة؟

المحلول 2

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

على سبيل المثال: سجل عميلScriptBlock.

نتطلع إلى اللعب بهذا أكثر، فلا تتردد في إشراك الأشخاص!

نصائح أخرى

غريب جدا.هل تستخدم عناصر تحكم خادم ASP.NET وعناصر التحكم المخصصة، لكنك لا تستخدم عناصر تحكم الويب؟وأنت تتصل بـ __doPostBack يدويًا؟

هل تحب أن تفعل الأشياء بالطريقة الصعبة؟

إذا كنت لا أزال أستخدم نموذج التحكم بالخادم بدلاً من MVC، فسأضع عناصر تحكم ASP.NET Ajax على ذلك المغفل وأتوقف عن ذلك.ما تفعله هو مثل وضع منفاخ على موديل T.قد يكون الأمر ممتعًا ومثيرًا للاهتمام، ولكن بعد الانتهاء من كل هذا العمل الشاق، ما الذي لديك حقًا؟

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