C# 如何在按钮单击事件(C sharp ASP.NET)上创建动态按钮?
我想在按钮单击事件上创建动态按钮(例如,btnCreateDynamic\u click)。C# 如何在按钮单击事件(C sharp ASP.NET)上创建动态按钮?,c#,.net,asp.net,dynamic,controls,C#,.net,Asp.net,Dynamic,Controls,我想在按钮单击事件上创建动态按钮(例如,btnCreateDynamic\u click)。 我尝试在page_load事件和Pre_int事件中创建动态按钮。它们都在工作,但我想在button click事件中创建它们。如何在c#asp.net中执行此操作?客户端的按钮单击事件将导致页面回发,从而启动asp.net页面生命周期; 服务器上的按钮单击事件是一个回发事件,您应该能够使用在加载或初始化事件中使用的相同方法调用CreateMyButton()。一个想法是创建一个按钮列表,其中存储在b
我尝试在page_load事件和Pre_int事件中创建动态按钮。它们都在工作,但我想在button click事件中创建它们。如何在c#asp.net中执行此操作?客户端的按钮单击事件将导致页面回发,从而启动asp.net页面生命周期;
服务器上的按钮单击事件是一个回发事件,您应该能够使用在加载或初始化事件中使用的相同方法调用
CreateMyButton()
。一个想法是创建一个按钮列表,其中存储在btnCreateDynamic\u 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\u单击中,您可以看到如下内容:
Button b = CreateButton("dinamicBtn"+myDinamicButtonsList.Count.ToString(),"dinamicBtn"+myDinamicButtonsList.Count.ToString());
myDinamicButtonsList.add(b);
例如,在pageLoad中,您可以执行以下操作
foreach(button btn in myDinamicButtonsList){
form1.Controls.Add(btn));
}
List<Button> myDinamicButtonsList = new List<Button>();
foreach(MyDiNAMIC按钮列表中的按钮btn){
表1.控件添加(btn));
}
List myDinamicButtonsList=新列表();
myDinamicButtonsList应该存储在某个位置,在每次请求后可以从该位置检索
编辑:
在页面加载中,您可以有如下内容:
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));
}
if(会话[“myDinamicButtons”]==null){
List myDinamicButtonsList=新列表();
会话[“myDinamicButtons”]=myDinamicButtons列表;
}
foreach(会话中的按钮btn[“MyDiNAMIC按钮”]作为列表){
表1.控件添加(btn));
}
我没有测试它,但它应该可以工作。(因为我不熟悉列表)我可以将按钮存储在arraylist而不是list中吗?我试过了,但还是出错了。请您帮忙好吗?您可以创建以下列表:list myDinamicButtonsList=new list();您必须考虑将其存储在何处,以便在每次重新加载页面时都可以访问它。您可以将其添加到会话变量中,如session[“myDinamicButtonsList”]=myDinamicButtonsList;并在每个页面加载时从那里检索它。只是个主意。。