我要创建按钮单击事件动态按钮(例如,btnCreateDynamic_Click)。 我试图创建的Page_Load事件和pre_int event.They动态按钮都在工作,但我想在按钮单击事件创建。我怎样才能做到这一点在C#asp?
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?
推荐答案这是想法是创建一个按钮列表中,你会保存您在btnCreateDynamic_click创建的按钮。
An idea would be to create a list of buttons in which you'd store the buttons you created in btnCreateDynamic_click.
您可以有这样的方法:
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; }在btnCreateDynamic_click你可以有这样的:
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应某处,从那里可以每个请求后检索存储
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.
更多推荐
如何创建按钮单击事件(升C ASP.NET)动态按钮?
发布评论