在一个页面定义了一个datatable,请问如何在其他页面调用?
页面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,但不清楚那是什么。。。如果一定要用那个的话麻烦给个介绍地址,谢谢。
------解决方案--------------------用Session 保存好了
------解决方案--------------------ViewState的有效范围是在本页面。。。
楼上提到Session可行。。
------解决方案--------------------ViewState不可以的,但可以用session
------解决方案--------------------用seesion也可以保存还要吧用其它的方法进行保存
比如cookies,application,server.Transfer好像都可以
------解决方案--------------------使用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)
{
//.....
}
------解决方案--------------------用session 可以 但习惯重新从数据库里提直接
------解决方案--------------------使用cache,
存:
DataTable table1 = new DataTable( "work ");
cache[ "myTable "]=table1 ;
取:
DataTable table2=(DataTable )cache[ "myTable "];