在asp.net中将数据表从页面发送到另一个页面

时间:2013-11-13 12:41:54

标签: c# asp.net session web

我有一个数据表,我从sql获取它,并在每行上的一些过程后,我向数据表添加一列显示过程结果然后我想将它发送到asp.net中的另一个页面,什么是最好的方法? 是否可以使用会话或什么?

我尝试使用会话,但我不确定它是否正常,因为很多人使用我的服务器。

        DataTable dt = new DataTable();
        dt.Columns.Add("img", typeof(string));
        dt.Columns.Add("soratvaziat", typeof(string));
        dt.Columns.Add("shomaregharardad", typeof(string));
        dt.Columns.Add("sharh", typeof(string));
        dt.Columns.Add("eghdam", typeof (Boolean));


        DataRow dtrow = dt.NewRow();    // Create New Row
        dtrow["img"] = "accepted.png";            //Bind Data to Columns
        dtrow["soratvaziat"] = "SureshDasari";
        dtrow["shomaregharardad"] = "B.Tech";
        dtrow["sharh"] = "Chennai";
        dtrow["eghdam"] = true;
        dt.Rows.Add(dtrow);

        dtrow = dt.NewRow();               // Create New Row
        dtrow["img"] = "attention.png";               //Bind Data to Columns
        dtrow["soratvaziat"] = "MadhavSai";
        dtrow["shomaregharardad"] = "MBA";
        dtrow["sharh"] = "Nagpur";
        dtrow["eghdam"] = true;

        dt.Rows.Add(dtrow);

        dtrow = dt.NewRow();              // Create New Row
        dtrow["img"] = "canceled.png";              //Bind Data to Columns
        dtrow["soratvaziat"] = "MaheshDasari";
        dtrow["shomaregharardad"] = "B.Tech";
        dtrow["sharh"] = "Nuzividu";
        dtrow["eghdam"] = true;

        dt.Rows.Add(dtrow);

        dtrow = dt.NewRow();              // Create New Row
        dtrow["img"] = "accepted.png";              //Bind Data to Columns
        dtrow["soratvaziat"] = "Mahendra";
        dtrow["shomaregharardad"] = "CA";
        dtrow["sharh"] = "Guntur";
        dtrow["eghdam"] = false;

        dt.Rows.Add(dtrow);
        RadGrid1.DataSource = dt;
        RadGrid1.DataBind();
        Session["dt"] = dt;

3 个答案:

答案 0 :(得分:1)

我认为您可以使用PreviousPage属性执行此操作。这允许您从将控件发送到当前加载页面的页面中访问变量。您需要在.ASPX页面指令中设置一些内容,然后使用

PreviousPage.Something

要做到这一点。我将数据表设置为属性并在当前页面上引用该属性。

进一步阅读:

Passing values across ASPX pages

答案 1 :(得分:1)

如果未启用会话,那么您将使用上下文发送数据

Context.Items.Add("context name", DataTable);

您可以通过

从另一页访问它
DataTable dt = (DataTable)Context.Items["context name"];

答案 2 :(得分:-5)

1-创建一个类

2-将public static DataTable dataTable

放入班级

3-然后将dataTable变量放入其中;

4-你可以从任何地方恢复它。