防止将数据加载到事件之前

时间:2018-01-08 16:46:19

标签: c# asp.net gridview webforms sqldatasource

我在一个页面上有一堆GridView,每个都有自己的协调SqlDataSource。

在初始化页面时(在页面加载时),它们都加载了协调数据。我想在用户单击按钮时在页面上加载特定SqlDataSource的数据,这样它就不会在页面最初加载时同时加载所有不同网格的所有数据。 / p>

注意:我还需要Paging工作,到目前为止我尝试过的任何内容都破坏了分页功能。

想要告诉SqlDataSource在用户单击按钮后要绑定到哪个数据,然后让特定的GridView将该数据绑定到该数据并让Paging功能处理它被告知要加载的数据。

环境:C#,WebForms,ASP.NET,.NET 3.5,控件SqlDataSource / GridView

据我所知,它正确地绑定了数据,但当我点击底部的一个页面进行分页时,'gridview'控件仍然消失。

注意:如果我再次点击该按钮,它将显示正确的页面和页面的正确数据。

protected void btn_LoadData2_Click(object sender, EventArgs e) { Gridview2.DataSourceID = "DataSource2"; Gridview2.SelectCommand = "SELECT * FROM dbo.DataNeeded"; Gridview2.DataBind(); Gridview2.DataBind(); }

1 个答案:

答案 0 :(得分:0)

为每个数据源添加一个Selecting事件。然后在后面的代码中检查IsPostBack和IsPostBack是否为false然后取消操作。

protected void MyDataSource_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
    if (!IsPostBack)
        e.Cancel = true;
}