将会话值存储在C#中的数据表中

时间:2012-11-14 07:25:59

标签: c# asp.net

我创建了一个使用Hashtable存储多个值的会话。

string productCode = lblProductId.Text;
string mrp = lblPrice.Text;
string quantity = txtQuantity.Text;
Hashtable htPdt = new Hashtable();
htPdt.Add("pdtId", "" + productCode + "");
htPdt.Add("price", "" + mrp + "");
htPdt.Add("quantity", "" + quantity + "");
Session["bag101"] = htPdt;

现在我想将此会话数据存储在Datatable中。 我该怎么办?

我正在使用此代码

Datatable DtbBag101= (Datatable)Session["bag101"];

1 个答案:

答案 0 :(得分:2)

您无法将哈希表转换为数据表。您需要为其创建数据表分配数据,然后保存在会话中。

DataTable table = new DataTable();
table.Columns.Add("pdtId", typeof(int));
table.Columns.Add("price", typeof(double));
table.Columns.Add("quantity", typeof(double));

table.Rows.Add(1, 2, 3);    
Session["bag101"] = table; // Putting DataTable in Session

DataTable DtbBag101= (DataTable)Session["bag101"]; //Retrieving DataTable from Session