在我的C#代码中,我有动态创建按钮的功能
private Button createPageButton(string id, string text, int navTo = 0)
{
Button btn = new Button();
btn.ID = id;
btn.Text = text;
btn.Click += new EventHandler(btnNavigate_To_Page);
return btn;
}
哪个设置如下:
C#:
public void someMethod()
{
Button btnPage_First = createPageButton("btnFirst_Page", "First", 1);
panelNavPageButtons.Controls.Add(btnPage_First);
}
ASPX:
<asp:Panel ID="panelPageNavButtons" CssClass="pageNavBtns" runat="server"></asp:Panel>
问题: btnNavigate_To_Page事件未触发。在Page_Load 中没有调用createPageButton方法,但如果我在面板中包含一个asp按钮(见下文),那么我在服务器端添加的任何其他按钮都能正常工作
<asp:Panel ID="panelPageNavButtons" CssClass="pageNavBtns" runat="server">
<asp:Button ID="btnPage_Prev" runat="server" OnClick="btnNavigate_To_Page" />
</asp:Panel>
我想动态设置所有按钮,而不在.aspx文件中包含对 btnNavigate_To_Page 的任何引用