我有一个包含一些表格的 asp.net 网站。然而,这些不是 asp:Table 即它们是以这种方式构建的简单 HTML 表:
<table><tr><td></td></tr></table>
现在我想知道是否可以从后面的代码(即 C#)动态地将行添加到该表中,如果可以,我该怎么做?
我有一个包含一些表格的 asp.net 网站。然而,这些不是 asp:Table 即它们是以这种方式构建的简单 HTML 表:
<table><tr><td></td></tr></table>
现在我想知道是否可以从后面的代码(即 C#)动态地将行添加到该表中,如果可以,我该怎么做?
你可以给它一个 Id 并设置 runat="server" 属性,并使用你给它的 Id 从后面的代码中使用它
System.Web.UI.HtmlControls.HtmlTableRow r=new System.Web.UI.HtmlControls.HtmlTableRow();
System.Web.UI.HtmlControls.HtmlTableCell c = new System.Web.UI.HtmlControls.HtmlTableCell();
c.InnerText = "New Cell";
r.Cells.Add(c);
T.Rows.Add(r);
其中 T 是您的表的 ID
已经有一段时间了,但是 ASP.NET Webforms 中有针对此类东西的转发器控件。
这是一篇介绍这个概念的好文章:ASP.NET 中的数据重复器控件
我认为这对你来说比用 AJAX/JScript 破解它更容易
除此之外:Daniel Casserly 是对的 - 如果您在 MVC 中执行此操作非常容易(如果您使用 Razor-Syntax 则更容易),因为它会翻译为:
<table>
@foreach (var item in Model)
{
<tr>
<td>@item.Name</td>
... whatever you need here ...
</tr>
}
</table>
您可以使用 JQuery 执行此操作,但为此您需要提供 Id 或类,或者只搜索表数组,然后向其中注入行
是的,您可以:点击此链接:动态向 HTML 表添加新行
HTML
我认为最好从后面的代码创建整个表。为此,我们可以添加一个文字并在后面的代码中使用它来从后面的代码中添加一个表结构。
例如,让我们制作一张HTML
鸟类详细信息表。只是为了简短说明,我没有包括填充鸟类详细信息的数据表部分。
if (dtBirdsDetail.Rows.Count > 0)
{
litBirdsTable.Text = "<center><table id='tbldata' cellspacing='0' cellpadding='1' border='1' style='border-collapse: collapse;'>" + System.Environment.NewLine;
litBirdsTable.Text += "<tr>";
//add datatable columns to html table as heading
for (int liColumnIndex = 0; liColumnIndex < dtBirdsDetail.Columns.Count;liColumnIndex++)
{
litBirdsTable.Text += "<th>" + dtBirdsDetail.Columns[liColumnIndex].ColumnName
+ "</th>" + System.Environment.NewLine;
}
litBirdsTable.Text += System.Environment.NewLine + "</tr>";
//add datatable rows to html table
for (int liRowIndex = 0; liRowIndex < dtBirdsDetail.Rows.Count; liRowIndex++)
{
litBirdsTable.Text += "<tr>";
litBirdsTable.Text += "<td>" + dtBirdsDetail.Rows[liRowIndex]["ID"] + "</td>" +
System.Environment.NewLine;
litBirdsTable.Text += "<td>" + dtBirdsDetail.Rows[liRowIndex]["BirdName"] + "
</td>" + System.Environment.NewLine;
litBirdsTable.Text += "<td>" + dtBirdsDetail.Rows[liRowIndex]["TypeOfBird"] + "
</td>" + System.Environment.NewLine;
litBirdsTable.Text += "<td>" + dtBirdsDetail.Rows[liRowIndex]["ScientificName"]
+ "</td>" + System.Environment.NewLine;
litBirdsTable.Text += "</tr>";
}
litBirdsTable.Text += "</table></center>";
}
详细解释请访问此链接:
http://codevariation.blogspot.com/2018/03/html-table-design-with-dynamic-data.html