为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 asp.net c# 将 MySQL 表显示为 HTML 表

如何使用 asp.net c# 将 MySQL 表显示为 HTML 表

C#
Cats萌萌 2022-12-24 12:50:33
我在处理如何在 HTML 数据表中显示表的行时遇到了问题。我想在asp.net中使用c#在HTML数据表中显示存储在Mysql表中的信息。问题是,代码可以工作,但是 HTML 表格中只显示最后一行。请帮忙。代码如下,C#protected void ListOfEmployee(){    List<EmployeeAccounts> empList = new List<EmployeeAccounts>();    using (MySqlConnection conn = new MySqlConnection(connectDB()))    {        conn.Open();        MySqlCommand cmd = new MySqlCommand("SELECT * FROM user", conn);        cmd.CommandType = CommandType.Text;        cmd.CommandTimeout = 0;        MySqlDataReader dr = cmd.ExecuteReader();        while (dr.Read())        {            empList.Add(new EmployeeAccounts            {                idNumber = dr["user_id"].ToString(),                uName = dr["username"].ToString(),                fName = dr["fullname"].ToString(),                uType = dr["usertype"].ToString(),                email = dr["email"].ToString(),                status = dr["status"].ToString()            });        }        dr.Close();        conn.Close();    }}public class EmployeeAccounts {    public string idNumber;    public string uName;    public string fName;    public string uType;    public string email;    public string status;}ASPX<asp:Table ID="tblUserList" CssClass="table table-hover table-vcenter" runat="server"><asp:TableHeaderRow TableSection="TableHeader"> <asp:TableHeaderCell >#</asp:TableHeaderCell><asp:TableHeaderCell >Full Name</asp:TableHeaderCell><asp:TableHeaderCell >Email</asp:TableHeaderCell><asp:TableHeaderCell >Status</asp:TableHeaderCell><asp:TableHeaderCell >User Type</asp:TableHeaderCell></asp:TableHeaderRow><asp:TableRow><asp:TableCell ID="cellID"></asp:TableCell><asp:TableCell ID="cellName"></asp:TableCell><asp:TableCell ID="cellEmail"></asp:TableCell><asp:TableCell CssClass="label label-table label-info" ID="cellStatus"></asp:TableCell><asp:TableCell ID="celluType"></asp:TableCell></asp:TableRow></asp:Table>
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

List<EmployeeAccounts> lst = GetEmployeeAccounts();


var sb = new System.Text.StringBuilder();


sb.Append(@"

<table class='table table-hover table-vcenter'>

<tr>

<th>ID</th>

<th>Full Name</th>

<th>Type</th>

<th>Email</th>

<th>Status</th>

</tr>

");


if(lst.Count==0)

{

    sb.Append("<tr><td colspan='5'>No record</td></tr>");

}

else

{

    foreach(var acc in lst)

    {

        sb.Append("<tr>");

        sb.AppendFormat("<td>{0}</td>", acc.idNumber);

        sb.AppendFormat("<td>{0}</td>", acc.fName);

        sb.AppendFormat("<td>{0}</td>", acc.uType);

        sb.AppendFormat("<td>{0}</td>", acc.email);

        sb.AppendFormat("<td class='label label-table label-info'>{0}</td>", acc.status);

        sb.Append("</tr>");

    }

}


sb.Append("</table>");


string htmlTable = sb.ToString();

在 ASP.NET 页面添加一个占位符:


<asp:PlaceHolder ID="ph1" runat="server"></asp:PlaceHolder>

然后在后面的代码处,继续编码:


ph1.Controls.Add(new LiteralControl(htmlTable));

==================================


更新:版本 2(2019 年 10 月 25 日)


List<EmployeeAccounts> lst = GetEmployeeAccounts();


var sb = new System.Text.StringBuilder();


sb.Append(@"

<table class='table table-hover table-vcenter'>

<tr>

<th>ID</th>

<th>Full Name</th>

<th>Type</th>

<th>Email</th>

<th>Status</th>

</tr>

");


if (lst.Count == 0)

{

    sb.Append("<tr><td colspan='5'>No record</td></tr>");

}

else

{

    foreach (var acc in lst)

    {

        sb.Append($@"

<tr>

<td>{acc.idNumber}</td>

<td>{acc.fName}</td>

<td>{acc.uType}</td>

<td>{acc.email}</td>

<td class='label label-table label-info'>{acc.status}</td>

</tr>

");

    }

}


sb.Append("</table>");


string htmlTable = sb.ToString();


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号