【发布时间】:2011-12-13 11:05:24
【问题描述】:
我遇到了需要帮助的动态链接按钮问题。我正在根据数据表中的记录创建一个动态 asp.net 表。我也在使用动态链接按钮。
protected System.Web.UI.WebControls.LinkButton lb;
protected override void OnInit(EventArgs e)
{
// Build controls before page load
lb = new LinkButton();
lb.Text = "Update Image";
// LinkButton obj for updating record
lb.ID = "UpdateImg";
lb.Click += new EventHandler(UpdateImg);
this.Controls.Add(lb);
base.OnInit(e);
}
我创建了一个新的链接按钮实例 OnInit,以便在页面加载之前将其添加到页面中。
foreach (DataRow r in tb.Rows) // Create new row foreach row in table
{
TableRow tr = new TableRow();
// Build cells
TableCell c1 = new TableCell();
TableCell c2 = new TableCell();
TableCell c3 = new TableCell();
TableCell c4 = new TableCell();
TableCell c5 = new TableCell();
TableCell c6 = new TableCell();
c1.Controls.Add(new LiteralControl(r["Image_id"].ToString()));
tr.Cells.Add(c1);
c2.Controls.Add(new LiteralControl(r["Image_name"].ToString()));
tr.Cells.Add(c2);
c3.Controls.Add(new LiteralControl(r["Alt_text"].ToString()));
tr.Cells.Add(c3);
c4.Controls.Add(new LiteralControl("<input id=\"" + r["Image_id"].ToString() + "\" type=\"checkbox\"" + "\"></input>"));
tr.Cells.Add(c4);
LinkButton lbcopy = new LinkButton();
lbcopy = lb;
lbcopy.ID = "UpdateImg" + i;
i++;
c5.Controls.Add(lbcopy);
tr.Cells.Add(c5);
c6.Controls.Add(new LiteralControl("<a href=\"javascript:void(0);\" onclick=\"DeleteImage('" + r["Image_id"].ToString() + "','" + r["Image_name"].ToString() + "');\"><img src=\"../images/clipboard/del.png\" id=\"" + r["Image_id"].ToString() + "\" width=\"20\" height=\"20\" BORDER=0></a>"));
tr.Cells.Add(c6);
tblImageLibrary.Rows.Add(tr); // Assign tr to table
然后我使用 foreach 循环遍历数据表中的每一行,这样我就可以构建每个表格行并将单元格添加到每一行。我遇到的问题是链接按钮出现在最后一行。可能是因为只有一个链接按钮对象,并且通过每次循环迭代它被移动到下一行?
我是 asp.net 的新手,所以请放轻松。
【问题讨论】:
标签: c# asp.net object loops linkbutton