Asp.net(C#)动态生成表格中的按钮和事件响应
最近几天一直在用C#写Asp.net的东西,发觉Asp.net很好用,也不好用,可能自己的认识比较浅,所以还要多多学习。下面是我遇上的一个问题,要动态的生成表格的行,同时在表格中插入按钮相应事件。插入表格行比较简单
第一步,现在页面上创建一个表格控件,如下代码:
<asp:Table ID="tblCity" runat="server" Width="300px">
</asp:Table>
第二步,就是在cs文件中控制它了
TableRow row = new TableRow(); //创建新行
TableCell cell;//申明单元格
cell = new TableCell(); //创建单元格对象
cell.Text = myCity[i].cityId.ToString();
row.Cells.Add(cell);//插入单元格
第三步,插入新行
tblCity.Rows.Add(row);
结下来,谈到就是如何在Cell中插入一个按钮,并且能响应事件
创建单元格的方式同上,但是其中要使用单元格添加控制的方法,代码如下
Button btnModify = new Button();
btnModify.Text = "Modify";
btnModify.Click += new EventHandler(btnModify_Click); //添加相应事件
btnModify.CommandName = "btnModify_Click";
btnModify.CommandArgument = 1;
cell = new TableCell();
cell.Controls.Add(btnModify);
row.Cells.Add(cell);
结下来要构建这个事件,如下
protected void btnModify_Click(object sender, EventArgs e)
{
int cityId = Convert.ToInt32(((Button)sender).CommandArgument);//获得传递的参数
//您的代码
}
以上就可以完整地实现单元格中动态的加载一个按钮和响应的事件。
不过,发现了一个问题,并非事件每次都能响应,表现的也不是很有规律,不知道是什么缘故。