التحكم الديناميكية، وتحديث ألواح والفعاليات - أفضل طريقة لتحقيق النتيجة بلدي

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

سؤال

تم سحب شعري والقيام قليلا من البحث على شبكة الإنترنت في محاولة لمعرفة حلا رائعا لقضية بلدي.

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

وهذا يعمل بشكل جيد.

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

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

ويمكنني أن أفعل Response.Redirect لإعادة تحميل الصفحة وإطلاق OnInit سلك يصل الأحداث مرة أخرى ولكن هذا يبدو ائقة جدا ويدمر جهة استخدام لوحات التحديث.

وأي أفكار؟

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

المحلول

وأنا أفكر هل يمكن تحميل دائما عنصر تحكم الصورة تحميل في شعبة ولها صلة جافا سكريبت لتبديل سمة العرض للشعبة.

وأو ربما استخدام CollapsiblePanels من AjaxToolKit لإخفاء وإظهار نموذج الرفع.

وأعتقد أن أي من هذه الطرق ستكون أكثر أناقة من القيام بعد الظهر (حتى لو كان في UpdatePanel) فقط لاسترداد شكل تحميل صورة.

نصائح أخرى

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

واحد الممتلكات التي <م> هو الفرق بين الحمل الأولي وإعادات النشر هي ملك Page.IsPostback، والتي يمكنك استخدامها لمجرد تنفيذ إجراءات على الحمل الأول من الصفحة.

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