【发布时间】:2012-08-28 01:45:14
【问题描述】:
我创建了一个网站,我必须在其中维护数据表和内存中的一些变量。数据表或变量中的数据/值将根据登录的用户而有所不同。怎么保养?
【问题讨论】:
-
关于会话 - 请注意,即使您在多个选项卡中运行您的网站,会话变量也会在它们之间重复使用。
标签: c# asp.net session datatable
我创建了一个网站,我必须在其中维护数据表和内存中的一些变量。数据表或变量中的数据/值将根据登录的用户而有所不同。怎么保养?
【问题讨论】:
标签: c# asp.net session datatable
您可以将它们另存为
DataTable dt = new DataTable();
// I assumed that dt has some data
Session["dataTable"] = dt; // Saving datatable to Session
// Retrieving
DataTable dtt = (DataTable) Session["dataTable"]; // Cast it to DataTable
int a = 43432;
Session["a"] = a;
// Retrieving
int aa = (int) Session["a"];
// classes
class MyClass
{
public int a { get; set; }
public int b { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
MyClass obj = new MyClass();
obj.a = 5;
obj.b = 20;
Session["myclass"] = obj; // Save the class object in Session
// Retrieving
MyClass obj1 = new MyClass();
obj1 = (MyClass) Session["myclass"]; // Remember casting the object
}
【讨论】:
将 Session 与数据表结合使用的完美方式是......
public class clsSession
{
public static DataTable dtEmp
{
get
{
if (HttpContext.Current.Session["dtEmp"] != null)
{
return (DataTable)HttpContext.Current.Session["dtEmp"];
}
else
return new DataTable();
}
set
{
HttpContext.Current.Session["dtEmpAddres"] = value;
}
}
}
您可以将数据表存储为clsSession.dtEmp = new DataTable();
【讨论】: