提问人:Mythran 提问时间:2/12/2021 最后编辑:TatranskymedvedMythran 更新时间:2/12/2021 访问量:675
如何使用 C 将“li”添加到“ul”标签#
How to add "li" to "ul" tag with C#
问:
我正在尝试从 Sql 数据库中获取一些名称,并使用以下代码将它们作为“li”附加到预先创建的“ul”中。我得到的是“System.Data.Common.DataRecordInternal”,而不是我在 Sql 中的数据,可能是什么问题?
此外,使用此代码,我无法在 SQL 中获取第一项。我的意思是我在 Sql 中有 9 个项目,但我只得到 8 个“System.Data.Common.DataRecordInternal”。
代码:
[HTML全文]
<div class="modal-body" style="width: 1000px;">
<ul class="list-group" runat="server" id="A3List">
</ul>
</div>
C#
protected void loadEval_ServerClick(object sender, EventArgs e)
{
SqlCommand comd = new SqlCommand("select name from A3_Coaching", con.connection());
SqlDataReader dr = comd.ExecuteReader();
while (dr.Read())
{
foreach (var r in dr)
{
HtmlGenericControl li = new HtmlGenericControl("li");
A3List.Controls.Add(li);
li.InnerHtml = r.ToString();
}
}
}
答:
0赞
Ricky Gummadi
2/12/2021
#1
您需要从数据读取器中读取实际的列名,而不仅仅是执行.ToString,它将打印出基础类型的名称。您也不需要额外的 foreach,DataReader 上的 while 是您的循环。请尝试以下操作。
protected void loadEval_ServerClick(object sender, EventArgs e)
{
SqlCommand comd = new SqlCommand("select name from A3_Coaching", con.connection());
SqlDataReader dr = comd.ExecuteReader();
while (dr.Read())
{
HtmlGenericControl li = new HtmlGenericControl("li");
A3List.Controls.Add(li);
li.InnerHtml = dr["name"];
}
}
评论