Html 如何加上「;李",;至;ul";用C标记#

Html 如何加上「;李",;至;ul";用C标记#,html,sql,htmlgenericcontrol,Html,Sql,Htmlgenericcontrol,我试图从Sql数据库中获取一些名称,并用下面的代码将它们作为“li”附加到预先创建的“ul”中。我得到的是“System.Data.Common.DataRecordInternal”,而不是Sql中的数据,这会是什么问题 同样,对于这段代码,我不能接受SQL中的第一项。我的意思是,在Sql中总共有9项,但我只得到8“System.Data.Common.DataRecordInternal” 守则: HTML 您需要从数据读取器中读取实际的列名,而不仅仅是执行.ToString打印底层类型的名

我试图从Sql数据库中获取一些名称,并用下面的代码将它们作为“li”附加到预先创建的“ul”中。我得到的是“System.Data.Common.DataRecordInternal”,而不是Sql中的数据,这会是什么问题

同样,对于这段代码,我不能接受SQL中的第一项。我的意思是,在Sql中总共有9项,但我只得到8“System.Data.Common.DataRecordInternal”

守则:

HTML


您需要从数据读取器中读取实际的列名,而不仅仅是执行.ToString打印底层类型的名称。您也不需要额外的foreach,数据读取器上的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"];        
    }
}

不管您的实际问题是什么:您应该始终确保处理SqlCommand和SqlDataReader。最安全的方法是@Mythran如果你觉得答案有用,那么别忘了给它投票
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();
        }
    }
}
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"];        
    }
}