سؤال

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

OnClientClick="javascript:parent.Shadowbox.close();"

ومع ذلك، يحتوي الزر "موافق" على حدث جانب الخادم، لأن البيانات تحتاج إلى حفظها. عندما أعرف كل من OnClick ومعالج OnClientClick من الأعلى، يتم إغلاق IFRAME ومحفز الحدث جانب الخادم لا ينطلق أبدا.

حاولت إزالة معالج الأحداث OnClientClick من العلامات واستخدام ClientscriptManager لإنجاز هذا، كما هو الحال في

Page.ClientScript.RegisterStartupScript(this.GetType(),
  "Close", "parent.Shadowbox.close();", true);

على ما يبدو لأن الأزرار موجودة في UpdatePanel، لا يتم تسجيل البرنامج النصي، ولا يظهر في دفق Reponse. يبقى iPanel مفتوحا.

كيف يمكنني أن أفعل هذا؟

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

المحلول

عند استخدام عناصر تحكم MS AJAX، تحتاج إلى تسجيل البرامج النصية الخاصة بك مع ScriptManager, ، ليس ClientScript.

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