We are trying to use the RadPanelBar to create an FAQ. The result intended would have the question in the in the panel bar and when you click on it, the answer is shown in the expanded section. In the answer we also want to have some ‘See also’ questions that would be also be panel items that can be expanded to show the answer. We are running into a problem on expanding the ‘See Also’ answers. When we click on the ‘See Also’ answer, the JavaScript error “this.getLinkElement() is null or not an object” occurs. The generation of the RadPanelBar is all generated in the code-behind. The code is as follows:
HTML
<td>
<telerik:RadPanelBar ID="TestPanelBar" runat="server" Width="100%" Height="100%" Style="white-space: normal" ExpandMode="SingleExpandedItem" AllowCollapseAllItems="true" EnableEmbeddedSkins="false">
</telerik:RadPanelBar>
</td>
Code- Behind
for (int i = 0; i < 10; i++)
{
Telerik.Web.UI.RadPanelItem questionItem = new Telerik.Web.UI.RadPanelItem(string.Format("{0} Question", i.ToString()));
Telerik.Web.UI.RadPanelItem answerItem = new Telerik.Web.UI.RadPanelItem();
answerItem.Controls.Add(new Label() { Text = "this is the answer" });
for (int j = 0; j < 3; j++)
{
Telerik.Web.UI.RadPanelItem relatedQuestionItem = new Telerik.Web.UI.RadPanelItem(string.Format("See Also {0}", j.ToString()));
Telerik.Web.UI.RadPanelItem relatedAnswerItem = new Telerik.Web.UI.RadPanelItem();
relatedQuestionItem.Width = Unit.Percentage(95);
relatedAnswerItem.Width = Unit.Percentage(95);
Label answerLabel = new Label();
answerLabel.Text = string.Format("See Also Answer {0}", j.ToString());
relatedAnswerItem.Controls.Add(answerLabel);
relatedQuestionItem.Items.Add(relatedAnswerItem);
answerItem.Items.Add(relatedQuestionItem);
}
answerItem.Expanded = true;
questionItem.Items.Add(answerItem);
TestPanelBar.Items.Add(questionItem);
TestPanelBar.Width = Unit.Percentage(100);
}
TestPanelBar.Items[0].Expanded = true;
The exact line of code that is causing the problem is relatedAnswerItem.Controls.Add(answerLabel);. As soon as we add a control to the RadPanelItem, this error occurs.
Is there a way to add a control (note we are adding a user control, not a label, the code is above is so you can reproduce the error) to a RadPanelItem and still be able to add a ‘sub’ item. Or do you have another suggestion how to accomplish this.