从动态创建的按钮执行方法

时间:2015-07-24 16:18:35

标签: c# asp.net

我正在尝试动态创建一个表,其中数据和按钮充当下载链接。单击按钮时,我希望使用与该单个按钮对象相关的参数调用方法。

foreach(var item in list_files) {
  TableRow tRow = new TableRow();
  file_table.Rows.Add(tRow);
  TableCell namecell = new TableCell();
  namecell.Text = item.name;
  tRow.Cells.Add(namecell);
  TableCell datecell = new TableCell();
  datecell.Text = item.uTC;
  tRow.Cells.Add(datecell);
  TableCell sizecell = new TableCell();
  sizecell.Text = item.size;
  tRow.Cells.Add(sizecell);

  Button downloadButton = new Button();
  downloadButton.Text = "Download";

  // code here to call a method named GetFile with two arguments from "item"
  // e.g b.onclick ( GetFile(item.a, item.b)) ;

  TableCell downloadlink = new TableCell();
  downloadlink.Controls.Add(downloadButton);
  tRow.Cells.Add(downloadlink);
}

1 个答案:

答案 0 :(得分:1)

foreach (var item in list_files)
{
    TableRow tRow = new TableRow();
    file_table.Rows.Add(tRow);
    TableCell namecell = new TableCell(); namecell.Text = item.name; tRow.Cells.Add(namecell);
    TableCell datecell = new TableCell(); datecell.Text = item.uTC; tRow.Cells.Add(datecell);
    TableCell sizecell = new TableCell(); sizecell.Text = item.size; tRow.Cells.Add(sizecell);

    Button downloadButton = new Button();
    downloadButton.Text = "Download";
    downloadButton.Click += (sender, evnt) =>
    {
       //do stuff here
       GetFile(item.a, item.b)
    };

    // code here to call a method named GetFile with two arguments from "item"
    // e.g b.onclick ( GetFile(item.a, item.b)) ;

    TableCell downloadlink = new TableCell(); downloadlink.Controls.Add(downloadButton); tRow.Cells.Add(downloadlink);
}
相关问题