كيف يمكنني تمرير البيانات من صفحة aspx إلى ascx مشروط المنبثقة?

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

  •  08-06-2019
  •  | 
  •  

سؤال

أنا جديدة إلى حد ما ASP.NET و في محاولة لمعرفة كيف تتم الأمور.لقد جئت من C# الخلفية بحيث التعليمات البرمجية-خلف الجزء السهل, ولكن التفكير في مثل مطور ويب غير مألوف.

لدي صفحة aspx الذي يحتوي على شبكة من خانات الاختيار.لدي الزر مشفرة عبر Button_Click الحدث إلى جمع قائمة من الصفوف التي يتم فحصها إنشاء متغير جلسة من تلك القائمة.نفس الزر المشار إليها (عن طريق TargetControlID) من قبل بلدي ascx الصفحة ModalPopupExtender الذي يسيطر الفريق على ascx الصفحة.

عند النقر فوق الزر, مشروط المنبثقة يفتح ولكن Button_Click الحدث لم تطلق حتى مشروط لا الحصول على بيانات الدورة.

منذ اثنين صفحات منفصلة ، لا استطيع الاتصال ModalPopupExtender من aspx.cs رمز, لا أستطيع الوصول إلى قائمة خانات من ascx.cs رمز, و أنا لا أرى وسيلة لملء جلسة بلدي المتغير ثم برمجيا تفعيل بعض أخرى خفية أو زر التحكم ثم افتح مشروط المنبثقة.

أي أفكار ؟

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

المحلول

كل usercontrol(.ascx) الملف هو مجموعة من الضوابط التي يجب تجميعها معا لتوفير بعض القابل لإعادة الاستخدام الوظيفي.الضوابط المحددة في أنها لا تزال تضاف إلى صفحة التحكم في جمع (.aspx) دورينج الصفحة lifecylce.على ModalPopupExtender يستخدم جافا سكريبت و dhtml لإظهار و إخفاء عناصر التحكم في usercontrol من جانب العميل.ما ترونه هو أن الحدث انقر يتم التعامل مع العميل من قبل ModalPoupExtender و هو إلغاء ما بعد مرة أخرى إلى الخادم.هذا هو السلوك الافتراضي من خلال التصميم.بالتأكيد يمكنك الوصول إلى الصفحة سيطرة مجموعة من التعليمات البرمجية-خلف من usercontrol على الرغم من أنها جميعا جزء من نفس شجرة التحكم.مجرد استخدام FindControl(xxx) طريقة من أي عنصر تحكم في البحث عن الطفل من ذلك عليك.

نصائح أخرى

بعد بعض البحوث التالية DancesWithBamboo الجواب, عرفت كيف تجعل من العمل.
على سبيل المثال الإشارة إلى ascx صفحة داخل صفحة aspx:

<uc1:ChildPage ID="MyModalPage" runat="server" />

Aspx البرمجية-خلف لانتزاع وفتح ModalPopupExtender (اسمه modalPopup) تبدو مثل هذا:

AjaxControlToolkit.ModalPopupExtender mpe = 
    (AjaxControlToolkit.ModalPopupExtender) 
          MyModalPage.FindControl("modalPopup");
mpe.Show();

آسف ولكن أنا في حيرة.لا يمكنك استدعاء ascx مباشرة, لذا

هو مشروط البرمجية التي كنت تتصل من داخل نفس الصفحة ، مثل الخفية الفريق ، وما إلى ذلك ؛

أو هو آخر صفحة aspx أن كنت تتصل على انقر فوق الحدث ؟

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