需求:
我现在要在页面上显示一篇文章所有的关键字,并且点击每个关键字都能触发事件,将他添加到textbox中;
实现:
protected void keywordsBind()
{
string[] keywords = {"aa","bb","cc","dd"}
foreach (string keyword in keywords)
{
if(keyword!=null && keyword!="")
{
LinkButton lbtn = new LinkButton();//实例化LinkButton控件
lbtn.Text = keyword;
lbtn.Font.Size = 16;
lbtn.ForeColor = Color.Red;
lbtn.Click += new EventHandler(lbtn_Click);//添加点击事件
pKeyWords.Controls.Add(lbtn); //将LinkButton添加到pKeyWords(是panel控件)
}
}
}
//点击事件的实现
protected void lbtn_Click(object sender, EventArgs e)
{
TextBox aa = (TextBox)(gvPost.Rows[0].Cells[4].FindControl("TextBox2"));
LinkButton lb = (LinkButton)sender;
string keywords = lb.Text;
if (aa.Text == "")
{
aa.Text = keywords;
}
else
aa.Text = aa.Text+","+lb.Text;
}
有人或许会问,我这样生成的控件,它的ID是什么,我怎么获取他的ID?
对于这个问题,我的想法是认为控制的他的ID,就是用个循环给每个自动生成的控件加上ID,如下:
protected void keywordsBind()
{
int Id = 1;
string[] keywords = {"aa","bb","cc","dd"}
foreach (string keyword in keywords)
{
if(keyword!=null && keyword!="")
{
LinkButton lbtn = new LinkButton();
string lbtnId = "lbtn" + Id;
lbtn.Id = lbtnId;
lbtn.Text = keyword;
lbtn.Font.Size = 16;
lbtn.ForeColor = Color.Red;
lbtn.Click += new EventHandler(lbtn_Click);
pKeyWords.Controls.Add(lbtn);
Id++;
}
}
}
这样就可以给每个控件ID赋值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-664090/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12639172/viewspace-664090/