我正在使用我的代码隐藏页面以编程方式创建一个保存按钮:
Button btnSave = new Button(); btnSave.ID = "btnSave"; btnSave.Text = "Save";
但是我认为这必须创建一个html按钮或者可能需要其他东西,因为我似乎无法在下一行中设置OnClick属性,我可以指定OnClientClick,但这不是我想要设置的那个.
Button btnSave = new Button(); btnSave.ID = "btnSave"; btnSave.Text = "Save"; btnSave.Click += new System.EventHandler(btnSave_Click); protected void btnSave_Click(object sender, EventArgs e) { //do something when button clicked. }
还要记住,当用户单击按钮时,它将强制回发,这将创建页面类的新实例.您创建按钮的旧实例已经消失.您需要确保该类的新实例还在加载阶段之前添加了您的按钮 - 以及它的事件处理程序,否则事件处理程序将不会运行(但页面的加载事件仍将如此).
如果要在后面的代码中为OnClick事件注册处理程序,则可以使用+ =语法向OnClick添加处理程序.
//Add the handler to your button, passing the name of the handling method btnSave.Click += new System.EventHandler(btnSave_Click); protected void btnSave_Click(object sender, EventArgs e) { //Your custom code goes here }