我对这些控件中动态加载的控件和事件有疑问(在我的情况下按下按钮:)

以下是我给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事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top