将网格视图数据绑定到另一页上

本文关键字:一页 数据绑定 网格 视图 | 更新日期: 2023-09-27 18:25:51

我在webform1.aspx上有一个网格视图(gridView1),其中有一个按钮可以触发弹出窗口。弹出窗口链接到webform2.aspx,允许用户导入excel文件以获取数据。数据预计将显示在webform1.aspx的网格视图中。但是,一旦加载excel文件,我如何对网格视图1进行数据绑定?

我有一些想法要做,不确定逻辑是否正确。

webform1.aspx.cs

//tempDT is a DataTable type to store the data of the grid    
Session["data"] = tempDT;
/*Open a popup with webform2.aspx*/

webform2.aspx.cs

//Get data from original data table and add new data get from excel
DataTable tempDT = (DataTable)Session["data"];
/* Add new data from excel to tempDT here */
Session["data"] = tempDT;

但在那之后,我没有任何想法对网格视图进行数据绑定,因为我无法在webform2.aspx 中调用网格视图

将网格视图数据绑定到另一页上

我不确定这对你不是有帮助吗

   GridView grv = ((GridView)this.Page.PreviousPage.FindControl("gridview1"));

但另一种方式可能是你的想法,只要确保为webform1做回发,比如重定向到webform1和表单加载

您可以检查如果会话不为null,则与会话数据绑定

您想要做的是:
1.当您单击按钮时,它将弹出一个窗口(您所说的网络表单2)
2.现在用户从Excel文件中加载数据
3.您想在web表单1上的网格中绑定该数据

好的,现在创建如下所述的流程:

  1. 取一个会话变量,检查它是否为null,将其中的数据绑定到webform1上,如下所示:
if (Session["ExcelData"]!=null)
{
   //Code here of binding the grid
   DataTable dt= (DataTable)Session["ExcelData"];
   GridView1.DataSource= dt;
   GridView1.DataBind();
}
  1. 现在转到第二个网络表单的按钮,点击它可以从excel加载数据
  2. 创建一个dataTable,并用excel中的数据(从excel加载的数据)填充它
  3. 并将该数据表存储在Session中,如下所示:

会话["ExcelData"]=dtExceldata;

  1. 关闭弹出窗口并调用GridBind方法

更新:

仅此而已。希望这将帮助您

您必须在'ebform2.aspx中再添加一个网格视图,并将其放在面板控件中,以帮助您隐藏网格视图。在导入按钮中,使面板可见,这样具有新值的网格视图将出现在同一页面上。