簡體   English   中英

List.Add()問題:它僅顯示最后一行

[英]Issue with List.Add(): it only displays the last row

List.Add()的問題:它僅保存最后添加的項目,它反復綁定最后的數據,請有人幫我清除它。 我正在MVC 4中嘗試初學者。 我也在MVC 4的基礎上苦苦掙扎,謝謝。

var modelList = new List<MyCourseData>();
string batchid = System.Web.HttpContext.Current.Request.QueryString["batchid"];
SqlConnection con = null;
string result = "";
DataSet ds = null;
con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
SqlCommand cmd = new SqlCommand("select * from [Student].[dbo].[tbl_batch] where batchid=@batchid", con);
//cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@batchid", batchid);
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
ds = new DataSet();
da.Fill(ds);
con.Close();
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
    var model = new MyCourseData();                  
    var classdates = ds.Tables[0].Rows[i]["class_dates"].ToString();
    int j = 0;
    // string[] parts = classdates.Split(',');
    foreach (string CourseDates in classdates.Split(','))
    {
         model.batchid = ds.Tables[0].Rows[i]["batchid"].ToString();
         model.course = ds.Tables[0].Rows[i]["course"].ToString();
         model.trainer = ds.Tables[0].Rows[i]["trainer"].ToString();
         model.class_dates = CourseDates;
         modelList.Add(model);

    }

}
return modelList;

發生這種情況是因為您要在列表中添加MyCourseData的相同實例,並且每次迭代中的值都會更改。 您需要為每次迭代創建MyCourseData的新實例,

var modelList = new List<MyCourseData>();
string batchid = System.Web.HttpContext.Current.Request.QueryString["batchid"];
SqlConnection con = null;
string result = "";
DataSet ds = null;
con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
SqlCommand cmd = new SqlCommand("select * from [Student].[dbo].[tbl_batch] where batchid=@batchid", con);
//cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@batchid", batchid);
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
ds = new DataSet();
da.Fill(ds);
con.Close();
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{

    var classdates = ds.Tables[0].Rows[i]["class_dates"].ToString();
    int j = 0;
   // string[] parts = classdates.Split(',');
     foreach (string CourseDates in classdates.Split(','))
     {
        var model = new MyCourseData();                  
        model.batchid = ds.Tables[0].Rows[i]["batchid"].ToString();
        model.course = ds.Tables[0].Rows[i]["course"].ToString();
        model.trainer = ds.Tables[0].Rows[i]["trainer"].ToString();
        model.class_dates = CourseDates;

        modelList.Add(model);

     }

}
return modelList;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM