chintapalli Ответов: 0

Элементы управления недоступны с помощью in radpanelbar


Я использую RadPanelBar для отображения элементов, и мне нужно добавить некоторые элементы управления под каждым элементом. Мне удалось создать элемент управления, и я вижу его с помощью текстового поля. Но я получаю нулевой объект, когда пытаюсь получить доступ к элементам управления с помощью метода findcontrol в событии нажатия кнопки. Вот код, который я использую в этом примере. Я был бы признателен вам за помощь.

ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС:
<telerik:RadPanelBar ID="RadPanelBar"  runat="server" Width="60%">
    <ExpandAnimation Type="None" />
     <CollapseAnimation Type="None" />
 </telerik:RadPanelBar>

 <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />


С фоновым кодом:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadFaqs();
            }
        }

        private void LoadFaqs()
        {
            List<Model.FAQCategory> FaqCategories = FaqHelper.GetFaqCategories();
            List<Model.FAQ> FaqsByCategory = null;

            int count = FaqCategories.Count;
            foreach (Model.FAQCategory faqCat in FaqCategories)
            {
                if (count > 0)
                {
                    // Populate parent
                    RadPanelItem PanelItem = new RadPanelItem();
                    PanelItem.Value = faqCat.FAQCategoryID.ToString();
                    PanelItem.Text = faqCat.Description;
                    PanelItem.Expanded = true;

                    TextBox txtTest = new TextBox();
                    txtTest.ID = "txtTest";
                    RadPanelItem ChildlItem = new RadPanelItem();
                    ChildlItem.Value = "ChildlItem" + count.ToString();
                    //ChildlItem.ContentTemplate = new MyRepeaterItemTemplate(txtTest);
                    ChildlItem.Controls.Add(txtTest);



                    //PanelItem.ContentTemplate = new MyRepeaterItemTemplate(txtTest);
                    //PanelItem.Controls.Add(txtTest);
                    PanelItem.Items.Add(ChildlItem);
                    PanelItem.Expanded = false;
                    //PanelItem.DataBind();

                    RadPanelBar.Items.Add(PanelItem);
                    RadPanelBar.ExpandMode = PanelBarExpandMode.SingleExpandedItem;
                }
                count = count - 1;

            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //var radPanelItems = RadPanelBar.GetAllItems();


            int itemCount = 0;
            Objects.FollowUp.Faq objFaq;
            string ctrlName;
            foreach (RadPanelItem pnlItem in RadPanelBar.GetAllItems())
            {
                TextBox txt = (TextBox)pnlItem.FindControl("txtTest");
                itemCount = pnlItem.Items.Count;
                if (pnlItem.Items.Count > 0)
                {
                    //Repeater rptQes = (Repeater)pnlItem.FindControl("rptQuestions");
                    //Repeater FaqRepeat = pnlItem
                    foreach (RadPanelItem child in pnlItem.Items)
                    {
                        TextBox txt1 = (TextBox)child.FindControl("txtTest");
                        Repeater rptQes = (Repeater)child.FindControl("rptQuestions");
                    }
                }
            }


        }
        public class MyRepeaterItemTemplate : ITemplate
        {
            Control ctrlToAdd;
            public MyRepeaterItemTemplate(Repeater rptQes)
            {
                ctrlToAdd = (Repeater)rptQes;
            }
            public MyRepeaterItemTemplate(TextBox rptQes)
            {
                ctrlToAdd = (TextBox)rptQes;
            }
            public void InstantiateIn(Control container)
            {
                // do something else
                container.Controls.Add(ctrlToAdd);
            }
        }


Что я уже пробовал:

Я попробовал с простым управлением текстовым полем с помощью RadPanelBar

Vincent Maverick Durano

Возможно, здесь есть кто-то, кто знает об элементах управления Telerik, но я думаю, что у вас больше шансов разместить его на специализированных форумах Telerik:http: / / www. telerik. com / community/forums. aspx

0 Ответов