如何在运行时的C#MVC中将新行添加到运行时已存在的DataTable

时间:2018-02-23 05:28:09

标签: c# asp.net-mvc datatable

我有一个数据表'tblTest'。当我尝试添加下一行时,第一行将被删除。我需要添加数据作为第二行。在下面找到我的代码。

DataTable dt = new DataTable("tblTest"); // Declare as Global.
public JsonResult SaveTestData(string itemCode,int quantity)
{
    dt.Columns.Add("ItemCode", typeof(string));
    dt.Columns.Add("Quantity", typeof(int));       
    DataRow dr;
    dr = dt.NewRow();
    dr["ItemCode"] = itemCode;
    dr["Quantity"] = quantity;
    dt.Rows.Add(dr);
    return Json(1);
}

'SaveTestData'函数重复,需要添加行作为下一行。

1 个答案:

答案 0 :(得分:0)

在会话中存储DataTable,如下所示:

public JsonResult SaveTestData(string itemCode, int quantity)
{
    DataTable dt = new DataTable("tblTest"); // Declare as Global.
    // A table saved in session
    if (Session["tblTest"] != null)
    {
        dt = (DataTable)Session["tblTest"];
    }
    else // create new table and store in session
    {
        dt.Columns.Add("ItemCode", typeof(string));
        dt.Columns.Add("Quantity", typeof(int));
    }


    DataRow dr;
    dr = dt.NewRow();
    dr["ItemCode"] = itemCode;
    dr["Quantity"] = quantity;
    dt.Rows.Add(dr);

    //store new row in session
    Session["tblTest"] = dt;

    return Json(1);
}