使用C#List生成HTML表
我有一个类列表,我用List的Where子句过滤它。过滤后,我使用foreach循环生成HTML表。它会生成两次项,即如果列表计数(过滤后)为5,则它会生成10次表行。 我在调试时已经检查过,它正确执行了4次。 这是我的代码,在我的aspx中,我有一个这样的表控件使用C#List生成HTML表,c#,asp.net,C#,Asp.net,我有一个类列表,我用List的Where子句过滤它。过滤后,我使用foreach循环生成HTML表。它会生成两次项,即如果列表计数(过滤后)为5,则它会生成10次表行。 我在调试时已经检查过,它正确执行了4次。 这是我的代码,在我的aspx中,我有一个这样的表控件 <asp:Table ID="table1" runat="server" CssClass="table"> <asp:TableRow ID="TableRow1" runat="server">
<asp:Table ID="table1" runat="server" CssClass="table">
<asp:TableRow ID="TableRow1" runat="server">
<asp:TableCell ID="TableCell1" runat="server">Name</asp:TableCell>
<asp:TableCell ID="TableCell2" runat="server">Age</asp:TableCell>
<asp:TableCell ID="TableCell3" runat="server">Sex</asp:TableCell>
<asp:TableCell ID="TableCell4" runat="server">City</asp:TableCell>
<asp:TableCell ID="TableCell5" runat="server">Delete</asp:TableCell>
</asp:TableRow>
</asp:Table>
//lstusers is the List of Users Class,which contains information of users.
foreach (var item in lstusers.Where(r => r.Name == "salman").ToList())
{
var namecell = new TableCell();
namecell.Text = item.Name;
var agecell = new TableCell();
agecell.Text = item.Age.ToString();
var sexcell = new TableCell();
sexcell.Text = item.Sex;
var citycell = new TableCell();
citycell.Text = item.City;
var delcell = new TableCell();
delcell.Text = "<a href='#' id='deluser' class='del DeleteBtn'></a>";
var newRow = new TableRow();
newRow.Cells.Add(namecell);
newRow.Cells.Add(agecell);
newRow.Cells.Add(sexcell);
newRow.Cells.Add(citycell);
newRow.Cells.Add(delcell);
table1.Rows.Add(newRow);
}
”;
var newRow=新表行();
newRow.Cells.Add(namecell);
newRow.Cells.Add(agecell);
newRow.Cells.Add(sexcell);
newRow.Cells.Add(citycell);
newRow.Cells.Add(delcell);
表1.行。添加(新行);
}
在我做错的地方,我也尝试了
lstusers.Where(r=>r.Name==“salman”)
但同样的问题也存在根据我的观点,您应该首先清除表行,然后插入新行。添加
table1.Rows.Clear()
在foreach
循环之前。您可以使用GridView或Repeater控制器,并通过数据绑定更轻松地完成这项工作。是的,但我必须使用它。您在哪里调用此代码?我的意思是,它是在页面加载事件中还是在按钮单击事件中,还是在哪里?您可以向我们显示该代码吗?是的,在页面加载时,我已经检查了它的条件否回邮