我有一个数据表,其中包含我从数据库中获得的记录。当页面加载时,我想遍历每条记录并将值提交给JavaScript函数,该函数会将它们显示在页面上,但是它仅适用于表中的第一条记录。如果有人能解决此问题或有更好的方法来完成我打算做的事情,将不胜感激。
我的代码后面:
foreach(DataRow row in tlds.Rows) {
TLDid = Convert.ToInt32(row["tldID"]);
tldName = row["tldName"].ToString();
date = row["releaseDate"].ToString();
price = Convert.ToDouble(row["price"]);
tags = row["tags"].ToString();
ScriptManager.RegisterStartupScript(this, this.GetType(), "tld", "addTLD('" + TLDid + "','" + tldName + "','" + date + "','" + price + "')", true);
}
我的js函数:
function addTLD(tldID, tldName, releaseDate, price) {
$('<tr><td>' + tldName + '</td><td>' + releaseDate + '</td><td>' + price + '</tr>').insertAfter('tr');
}
答案 0 :(得分:0)
您可以使用ASP.NET服务器端表控件,然后动态添加行,并为每行添加所需的单元格,例如下面的代码
ASPX
<asp:Table ID="myTable" runat="server" Width="100%">
</asp:Table>
ASPX.CS
foreach (DataRow row in tlds.Rows)
{
date = row["releaseDate"].ToString();
price = Convert.ToDouble(row["price"]);
tags = row["tags"].ToString();
TableRow row = new TableRow();
TableCell TLIdCell= new TableCell();
TLIdCell.Text = Convert.ToInt32(row["tldID"]);
row.Cells.Add(TLIdCell);
TableCell tldNameCell = new TableCell();
tldNameCell .Text = Convert.ToString(row["tldName"]);
row.Cells.Add(tldNameCell);
//Similarly add code for date, price and tags cells
// Finally add row to table rows collection
myTable.Rows.Add(row);
}