Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#List生成HTML表_C#_Asp.net - Fatal编程技术网

使用C#List生成HTML表

使用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">

我有一个类列表,我用List的Where子句过滤它。过滤后,我使用foreach循环生成HTML表。它会生成两次项,即如果列表计数(过滤后)为5,则它会生成10次表行。 我在调试时已经检查过,它正确执行了4次。 这是我的代码,在我的aspx中,我有一个这样的表控件

<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控制器,并通过数据绑定更轻松地完成这项工作。是的,但我必须使用它。您在哪里调用此代码?我的意思是,它是在页面加载事件中还是在按钮单击事件中,还是在哪里?您可以向我们显示该代码吗?是的,在页面加载时,我已经检查了它的条件否回邮