تختفي الضوابط RadPanelBar بعد وأضافت البنود حيوي

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

  •  05-07-2019
  •  | 
  •  

سؤال

ولقد حصلت على سؤال حول سيطرة Telerik RadPanelBar.

وعلى سبيل المثال لدينا عنصر تحكم RadPanelBar على شكل:

        <telerik:RadPanelBar ID="testPanelBar" runat="server">
        </telerik:RadPanelBar>

ووزر مما يضيف عنصر جديد في هذا RadPanelBar في وقت التشغيل:

        RadPanelItem newParentItem = new RadPanelItem();
        RadPanelItem newChildItem = new RadPanelItem();
        newChildItem.Controls.Add(new RadTextBox());
        newChildItem.Text = "wazzap";
        newParentItem.Items.Add(newChildItem);
        languagesPanelBar.Items.Add(newParentItem);

وعندما اضغط الزر، يتم إضافة RadPanelItem جديدة مع جميع عناصر التحكم التابعة (في هذه الحالة انها RadTextBox في البند الطفل)

عند النقر فوق الزر مرة الثانية، يتم إضافة RadPanelItem الثانية مع كافة عناصر التحكم، ولكن هذه المرة اختفت السيطرة RadTexBox من RadPanelItem أولا.

وأضاف نفس عند النقر فوق زر للمرة الثالثة البند الجديد مع كافة عناصر التحكم، ولكن RadTextBox تختفي من 1 و2ND البنود.

وأفعل شيئا خاطئا عند إضافة عناصر حيوي؟

وشكرا!

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

المحلول

ويحدث هذا لأن يتم فقدان الضوابط إنشاؤه بشكل حيوي تضاف إلى غيرها من الضوابط إنشاؤه بشكل حيوي بعد إعادة النشر. تحتاج إلى إعادة لهم في كل تحميل الصفحة. وبقدر ما أعرف أن هناك أي حل لهذه المشكلة. يمكنك إعادة بسهولة مع صفحة الفئة أيضا، على page_load محاولة Controls.Add قم (مربع نص جديد ())؛ ثم بعد إعادة النشر، فإن نفس رمز لا تولد الجديد (الثاني) النص، ولكن سيتم إعادة وقت لاحق.

وجميع البنود PanelBar (حتى إنشاؤه بشكل حيوي منها) وتسلسل على العميل، وبعد إعادة النشر يتم إعادة على الخادم. وهذا هو السبب في عدم ضائعون. ومع ذلك، لا ينطبق الشيء نفسه على التحكم التابعة للكائن RadPanelItem.

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