1

I want to create dynamic buttons on button click event(for example., btnCreateDynamic_Click). I tried creating dynamic buttons on page_load event and Pre_int event.They are all working but i want to create them in button click event. How can i do this in c# asp.net?

2 Answers 2

2

Your button click event at the client will cause a page postback that will start the ASP.Net Page Life-cycle; alt text

Your button click event on the server is a PostBackEvent and you should be able to use the same method call CreateMyButton() that you used in the Load or Init events.

Sign up to request clarification or add additional context in comments.

Comments

1

An idea would be to create a list of buttons in which you'd store the buttons you created in btnCreateDynamic_click.

you could have a method like:

private Button CreateButton(string id, string name)
        {
            Button b = new Button();
            b.Text = name;
            b.ID = id;
            b.Click += new EventHandler(Button_Click);
            b.OnClientClick = "ButtonClick('" + b.ClientID + "')";
            return b;
        }

in btnCreateDynamic_click you could have something like:

Button b = CreateButton("dinamicBtn"+myDinamicButtonsList.Count.ToString(),"dinamicBtn"+myDinamicButtonsList.Count.ToString());
myDinamicButtonsList.add(b);

and in the pageLoad for example you could do something like

foreach(button btn in myDinamicButtonsList){
    form1.Controls.Add(btn));
}

List<Button> myDinamicButtonsList = new List<Button>();

myDinamicButtonsList should be stored somewhere from where it could be retrieved after each request.

EDIT: In page load you could have something like this:

if(Session["myDinamicButtons"] == null){
    List<Button> myDinamicButtonsList = new List<Button>();
    Session["myDinamicButtons"] = myDinamicButtonsList;
}

foreach(Button btn in Session["myDinamicButtons"] as List<Button>){
    form1.Controls.Add(btn));
}

i didn't tested it but it should work.

2 Comments

(As im not familier with list)Can i store the buttons in arraylist instead of List? I tried but i got error. Would you please help?
you can create the list this: List<Button> myDinamicButtonsList = new List<Button>(); you have to think where you could store it in order to have access to it every time the page reloads. you could add it in a session variable like this Session["myDinamicButtonsList"] = myDinamicButtonsList; and retrieve it from there on each page load. just an idea..

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.