[英]Dynamically generate Button in asp.net
我已经获得了asp.net Web表单中的一项任务,该任务通过使用循环以15分钟为间隔( 10:00
: 10:15
: 10:30
... 12:00
)动态生成具有时间间隔值的Buttons
/ Labels
。
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Timer1_Tick(object sender, EventArgs e)
{
CreateControl();
}
void CreateControl()
{
Button btn1 = new Button();
btn1.ID = "btn1";
btn1.Text = "click me";
btn1.Click += new EventHandler(btn1_Click);
div1.Controls.Add(btn1);
}
void btn1_Click(object sender, EventArgs e)
{
div1.InnerHtml += "btn1 was clicked";
}
}
void CreateControl()
{
TimeSpan FifteenMinutes = new TimeSpan(0, 15, 0);
TimeSpan Time = new TimeSpan(0,0,0);
int i = 1;
while (Time.Hours != 24)
{
Button btn1 = new Button();
btn1.ID = "btn"+i;
btn1.CommandArgument = i.ToString();
btn1.Text = "click me";
btn1.Click += new EventHandler(btn1_Click);
div1.Controls.Add(btn1);
Label lbl = new Label();
lbl.Text = Time.ToString();
div1.Controls.Add(lbl);
Time = Time.Add(FifteenMinutes);
i++;
}
}
您可以使用TimeSpan
并将每次迭代的时间增加15分钟。
int j = 0;
for (TimeSpan i = new TimeSpan(10, 0, 0); i.ToString(@"hh\:mm") != "12:00"; i = i.Add(new TimeSpan(0, 15, 0)), j++)
{
Button btn1 = new Button();
btn1.ID = "btn" + j;
btn1.Text = i.ToString(@"hh\:mm");
btn1.Click += new EventHandler(btn1_Click);
div1.Controls.Add(btn1);
Label lbl = new Label();
lbl.Text = i.ToString(@"hh\:mm");
div1.Controls.Add(lbl);
Console.WriteLine(i.ToString(@"hh\:mm"));
}
void btn1_Click(object sender, EventArgs e)
{
string buttonId = ((Button)sender).ID;
div1.InnerHtml += "Button: " + buttonId + " was clicked";
}
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TimeSpan startTime = new TimeSpan(0, 0, 0);
TimeSpan endTime = new TimeSpan(1, 0, 0);
int i = 0;
While(startTime <= endTime)
{
i++;
CreateControl(startTime.ToString(@"hh\:mm\:ss"), i);
startTime += TimeSpan.FromMinutes(15); //Add 15 minutes
}
}
void CreateControl(string printTime, increment)
{
Button btn1 = new Button();
btn1.ID = "btn_" + increment;
btn1.Text = printTime;
btn1.Click += new EventHandler(btn_Click);
div1.Controls.Add(btn1);
}
void btn_Click(object sender, EventArgs e)
{
string ID = (sender as Button).ID;
div1.InnerHtml += "btn " + ID + " was clicked";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.