2017-05-18 49 views
0

我似乎無法確定爲什麼我的會話變量在打印項目單擊事件中返回null。數據表在會話變量之前存在。會話變量 - 數據表空值 - asp.net C#

任何建議表示讚賞。

protected void btnGetOrderData_Click(object sender, EventArgs e) 
    { 
     Class1 x = new Class1(); // create a new instance of class1 

     x.sopnumbe = txtOrder.Text; // pass the class string the value of text box order 

     DataSet ds = x.GetOrderData(); // call get order from class1 "x" instance 

     DataTable orderDataTable = ds.Tables[0]; // dataset to datatable (first) 

     Session["sess_dt"] = orderDataTable; // create a session var to store dataset and use elsewhere 


     // GridView1.DataSource = ds; 
     // GridView1.DataBind(); 

    } 

    protected void btnPrintItem_Click(object sender, EventArgs e) 
    { 

     DataTable dt = (DataTable)Session["sess_dt"]; 

回答

0

要存儲:

DataTable dt = new DataTable(); 
Session["sess_dt"] = orderDataTable; 

要檢索:

DataTable dt = (DataTable)Session["sess_dt"]; 

檢查orderDataTable如果有一個值。

+0

是的。它在那個時候有一個價值。在最後一行檢索後它是空的。我希望有人知道爲什麼。 –

+0

如果它是'null',則會失敗。 –

+0

也許你在將會話轉換爲DataTable時遇到問題? 嘗試使用這個: DataTable dt = Session [「sess_dt」] as DataTable – fatkidf