سؤال

وأنا أحاول أن يدعو لي حسن البالغ من العمر "RegisterClientScriptBlock 'على الطبقة الصديقة" ScriptManager ".

وانها فقط لا يعمل لبلدي CompositeControl؟ أنا استخدامها على UserControl العادي (ASCX) حيث كان يعمل.

والبصرية ستوديو ببساطة لن يقبل مني كتابة "ScriptManager" أو أحصل على "اسم" ScriptManager 'غير موجود في السياق الحالي "لو كنت تفعل ومحاولة لتجميع. ما هو الخطأ - لدي ما يشير إلى System.Web.UI وحتى حصلت resharper لمساعدتي إضافته (والعبارة باستخدام) - لو كان هناك فقط

وطيب حتى شيء بسيط جدا والمنطق تتراجع الآن، أنا فقط بحاجة الى معرفة ما ...

وأي أفكار؟

وحصلت البصرية ستوديو 2008 مع SP1.

وتحرير: CompositeControl أن لا يعمل هو في الواقع مكتبة فئة بسيطة وجزء من تطبيق ويب ملف ASCX بطبيعة الحال ليست كذلك. أعرف أن هذا يمكن أن يسبب مشاكل منذ كنت أود أن يكون لتعيين مرجع إلى الصفحة بطريقة أو بأخرى - حاولت أبحث في ClientScriptManager لكنه المنشئ داخلي مبينا انها تستخدم في مكان ما مثل داخليا من ScriptManager - لكنه يلمح أيضا أنه قد يكون هناك مدخل قادم من مكتبة فئة (مع عدم الإشارة compiletime إلى كائن الصفحة)

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

المحلول

ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);

وأخيرا وجدت ما يلي:)

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