在一个页面定义了一个datatable,请问如何在其他页面调用?

时间:2022-10-28 18:48:41
页面1的后台test1.aspx.cs:
public partial class test1 : System.Web.UI.Page
{
    public static DataTable table1 = new DataTable("work");
    ......

页面2 test2.aspx.cs:
public partial class test2 : System.Web.UI.Page
{
    .....
    protected void Button3_Click(object sender, EventArgs e)
    {
       这里如何调用table1的数据


看到一个类似问题的帖子回复里好像提到了ViewState,但不清楚那是什么。。。如果一定要用那个的话麻烦给个介绍地址,谢谢。

11 个解决方案

#1


:)

#2


用Session 保存好了

#3


能举例写下吗?谢谢

#4


ViewState的有效范围是在本页面。。。
楼上提到Session可行。。

#5


ViewState不可以的,但可以用session

#6


可以具体说下我这里怎么用session吗?以前没接触过session,过了这再去找书看看去。。。

#7


用seesion也可以保存还要吧用其它的方法进行保存
比如cookies,application,server.Transfer好像都可以

#8


使用session比较合适。
session中保存的数据在同一次会话中都可以使用,而viewstate保存的数据仅能在一个页面中可以使用。页面A要使用另一个页面B的数据,可以在B页面把数据保存到session中,然后在A页面中把保存到session中的数据取出来。具体代码如下:

1.在B页面保存数据到session:
Session["table1 "] = new DataTable("work");

2.在A页面从session中取出数据并对其进行类型转换(保存到session中的数据其类型会变成object类型,所以需要类型转化),然后使用取出的数据:
DataTable = dt = Session[["table1 "] as DataTable;
if(dt!=null)
{
   //.....
}

#9


用session 可以 但习惯重新从数据库里提直接

#10


使用cache,
存:
 DataTable table1 = new DataTable("work");
cache["myTable"]=table1 ;
取:

DataTable table2=(DataTable )cache["myTable"];

#11


因为两个页面内容都不多,合并到一个页面写了,设成两个Panel分别设置visible。
session等看看书再说了。。。

#1


:)

#2


用Session 保存好了

#3


能举例写下吗?谢谢

#4


ViewState的有效范围是在本页面。。。
楼上提到Session可行。。

#5


ViewState不可以的,但可以用session

#6


可以具体说下我这里怎么用session吗?以前没接触过session,过了这再去找书看看去。。。

#7


用seesion也可以保存还要吧用其它的方法进行保存
比如cookies,application,server.Transfer好像都可以

#8


使用session比较合适。
session中保存的数据在同一次会话中都可以使用,而viewstate保存的数据仅能在一个页面中可以使用。页面A要使用另一个页面B的数据,可以在B页面把数据保存到session中,然后在A页面中把保存到session中的数据取出来。具体代码如下:

1.在B页面保存数据到session:
Session["table1 "] = new DataTable("work");

2.在A页面从session中取出数据并对其进行类型转换(保存到session中的数据其类型会变成object类型,所以需要类型转化),然后使用取出的数据:
DataTable = dt = Session[["table1 "] as DataTable;
if(dt!=null)
{
   //.....
}

#9


用session 可以 但习惯重新从数据库里提直接

#10


使用cache,
存:
 DataTable table1 = new DataTable("work");
cache["myTable"]=table1 ;
取:

DataTable table2=(DataTable )cache["myTable"];

#11


因为两个页面内容都不多,合并到一个页面写了,设成两个Panel分别设置visible。
session等看看书再说了。。。