Asp.net 从SqlDataSource或GridView读取数据

Asp.net 从SqlDataSource或GridView读取数据,asp.net,sqldatasource,dataview,Asp.net,Sqldatasource,Dataview,我在web表单上有SqlDataSource和GridView。GridView.DataSourceID=mySqlDataSource 调用myGridView.DataBind()时,页面上的所有数据都成功绑定 如何从mySqlDataSource或myGridView对象中读取已获取的数据作为DataTable或DataView?谢谢如果您的数据集不是很大,您可以将其存储在会话中,将网格视图绑定到会话数据,然后在其他web对象中重复使用会话数据 然后,您的代码看起来是这样的(您必须原谅任

我在web表单上有SqlDataSource和GridView。GridView.DataSourceID=mySqlDataSource

调用myGridView.DataBind()时,页面上的所有数据都成功绑定


如何从mySqlDataSource或myGridView对象中读取已获取的数据作为DataTable或DataView?谢谢

如果您的数据集不是很大,您可以将其存储在
会话
中,将
网格视图
绑定到
会话
数据,然后在其他web对象中重复使用
会话
数据

然后,您的代码看起来是这样的(您必须原谅任何微小的错误——我现在不在开发箱中):

protectedoverride-OnInit(对象发送方,事件参数e)
{
base.OnInit();
如果(Page.IsPostback==false)
{
SetSessionData();
}
//
//在此处设置GridView、DataTable、DataView等事件。
//
}
void SetSessionData();
{
列出myDataBoundObject=GetYourDataBoundObject();//或集合、IEnumerable等。
会话[“数据”]=myDataBoundObject;
}
void YourGridView\u加载(对象发送方、事件参数)
{
BindYourGridView();
}
void BindYourGridView()
{
YourGridView.DataSource=GetSessionData();
YourGridView.DataBind();
}
列表GetSessionData()
{
返回(列表)会话[“数据”];
}
无效数据表加载(对象发送方,事件参数)
{
BindYourDataTable();
}
void BindYourDataTable()
{
YourDataTable.DataSource=GetSessionData();
YourDataTable.DataBind();
}

可以使用gridview控件的FindControl属性读取gridview中的数据。例如,用于读取网格中复选框列中设置的值

    for (i = 0; i < GridView1.Rows.Count; i++) 

{

            CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("checkbox1");

            //here code for using value captured in chk 
}
for(i=0;i
    for (i = 0; i < GridView1.Rows.Count; i++) 

{

            CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("checkbox1");

            //here code for using value captured in chk 
}