将网格视图数据绑定到另一页上
本文关键字:一页 数据绑定 网格 视图 | 更新日期: 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上的网格中绑定该数据
好的,现在创建如下所述的流程:
- 取一个会话变量,检查它是否为null,将其中的数据绑定到webform1上,如下所示:
if (Session["ExcelData"]!=null) { //Code here of binding the grid DataTable dt= (DataTable)Session["ExcelData"]; GridView1.DataSource= dt; GridView1.DataBind(); }
- 现在转到第二个网络表单的按钮,点击它可以从excel加载数据
- 创建一个dataTable,并用excel中的数据(从excel加载的数据)填充它
- 并将该数据表存储在Session中,如下所示:
会话["ExcelData"]=dtExceldata;
- 关闭弹出窗口并调用GridBind方法
更新:
仅此而已。希望这将帮助您
您必须在'ebform2.aspx中再添加一个网格视图,并将其放在面板控件中,以帮助您隐藏网格视图。在导入按钮中,使面板可见,这样具有新值的网格视图将出现在同一页面上。