Creating an asp:Button programmatically?

人走茶凉 提交于 2019-11-28 07:35:19

问题


I'm using my code-behind page to create a save button programmatically:

    Button btnSave = new Button();
    btnSave.ID = "btnSave";
    btnSave.Text = "Save";

However I think this must create an html button or perhaps needs something else as I cannot seem to set the OnClick attribute in the following line, I can specify OnClientClick but this isn't the one I want to set.


回答1:


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. 
}



回答2:


Also remember that when the user clicks the button it will force a postback, which creates a new instance of your page class. The old instance where you created the button is already gone. You need to make sure that this new instance of the class also adds your button -- and it's event handler -- prior to the load phase, or the event handler won't run (the page's load event still will, however).




回答3:


You would be adding a handler to the OnClick using the += syntax if you want to register a handler for the OnClick event in the code behind.

//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
}


来源:https://stackoverflow.com/questions/188007/creating-an-aspbutton-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!