最近幾天一直在用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);//獲得傳遞的參數
//您的代碼
}
以上就可以完整地實作單元格中動态的加載一個按鈕和響應的事件。
不過,發現了一個問題,并非事件每次都能響應,表現的也不是很有規律,不知道是什麼緣故。
本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/archive/2012/11/16/2772874.html,如需轉載請自行聯系原作者