从数据库到自定义列表的数据

时间:2017-12-19 15:06:39

标签: asp.net gridview

我想将数据库中的一些数据存储到类的列表中。 不幸的是,我的网页完全是空白的,完全是空的...... 这是我的代码:

背后的代码:

protected void Page_Load(object sender, EventArgs e)
{
    // Requête en chaînes de caractères qui sera utilisée pour récupérer les données dans la table Template
    string request = "SELECT Id, Name, Content From Template";

    // Process principal
    try
    {
        // Connexion à la base de données et à la table et utilisation de la requêtes SQL
        SqlCommand cmd = new SqlCommand(request, connect);
        connect.Open();

        // Exécution de la requête SQL
        SqlDataReader sdr = cmd.ExecuteReader();

        // Si la commande comporte des lignes
        if (sdr.HasRows)
        {
            sdr.Read();
            string temp_name = sdr["Name"].ToString();
            string temp_id = sdr["Id"].ToString();

            List<TemplateObject> Liste_template = new List<TemplateObject>()
            {
                new TemplateObject(temp_id,temp_name)     
            };
        }
        GridView1.DataSource = Liste_template;
        GridView1.DataBind();
    }
    finally
    {
        connect.Close();
    }
}

来自我创建的类的代码:

public class TemplateObject
{
    string Id_template { get; set; }
    string Name_template { get; set; }

    public TemplateObject(string id, string name)
    {
        this.Id_template = id;
        this.Name_template = name;
    }
}

我想存储和显示一个对象,该对象由一个TemplateObject和一个FormObject组成,由两个参数组成(如TemplateObject):id和name。我不打算创建FormObject,因为我首先从一个开始。 我必须像这样存储我的数据,因为数据源有点奇怪,我只使用字符串。

1 个答案:

答案 0 :(得分:1)

  • 你需要一个循环
  • 在该循环之前创建列表
  • 填写循环中的列表
List<TemplateObject> Liste_template = new List<TemplateObject>()

while(sdr.Read())
{
    string temp_name = sdr["Name"].ToString();
    string temp_id = sdr["Id"].ToString();
    TemplateObject newObject = new TemplateObject(temp_id,temp_name);
    Liste_template.Add(TemplateObject)
}

现在您可以将其指定为DataSource的<{1}}:

GridView