动态加载控件中的asp .net事件(Telerik)
-
06-07-2019 - |
题
我对这些控件中动态加载的控件和事件有疑问(在我的情况下按下按钮:)
以下是我给RadPanelBar一个Button和隐藏输入的内容:
<telerik:RadPanelBar ID="languagesPanelBar" runat="server">
</telerik:RadPanelBar>
<asp:Button ID="Button1" runat="server" OnClientClick="funcation(){document.getElementById('someHiddenField').value='true';}" />
<input id="someHiddenField" type="hidden" runat="server" value="false" />
而不是PageLoad事件我检查someHiddenField值是否为true,如果是,则将带有动态加载控件的新项添加到RadPanelBar:
void Page_Load(object sender, EventArgs e)
{
if(someHiddenField.Value == "true")
{
RadPanelItem newRootItem = new RadPanelItem();
RadPanelItem newChildIteam = new RadPanelItem();
Control ctrl = LoadControl("testControl.ascx");
ctrl.ID = "testCtrl";
newChildItem.Controls.Add(ctrl);
newRootItem.Items.Add(newChildItem);
languagesPanelBar.Items.Add(newRootItem);
}
}
testControl.ascx中有一个按钮,但由于某种原因,onClick事件在动态创建控件时不会触发。
很高兴听到任何建议如何解决这个问题:)
提前谢谢你!
解决方案
将控件创建代码移至Page_Init事件。
不隶属于 StackOverflow