0

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

这是我得到一个 RadPanelBar 一个按钮和隐藏输入的内容:

              <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 值是否为真,如果为真,则将具有动态加载控件的新项目添加到 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 事件。
很高兴听到任何建议如何解决这个问题:)

先感谢您 !

4

1 回答 1

0

将控件创建代码移至 Page_Init 事件。

于 2009-06-22T10:20:55.007 回答