Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET控件中的数据何时加载?_Asp.net_Sql Server - Fatal编程技术网

ASP.NET控件中的数据何时加载?

ASP.NET控件中的数据何时加载?,asp.net,sql-server,Asp.net,Sql Server,我正在处理一个ASP.NET控件(用于Blackbaud的NetCommunity系统),该控件需要从数据库加载数据,然后根据已加载的数据更新某些控件的启用状态。根据Microsoft的页面生命周期,我可以看到,改变这一点的适当位置是在page_PreRenderComplete事件期间,但这似乎不起作用,所以我猜我错了。但是,我不能确定,因为我看不到实际的数据库检索是在哪里进行的。我在该控件上有两个下拉列表,用于确定下面的网格中显示了哪些数据,网格需要根据其中的数据更改其状态。我是否需要找出如

我正在处理一个ASP.NET控件(用于Blackbaud的NetCommunity系统),该控件需要从数据库加载数据,然后根据已加载的数据更新某些控件的启用状态。根据Microsoft的页面生命周期,我可以看到,改变这一点的适当位置是在page_PreRenderComplete事件期间,但这似乎不起作用,所以我猜我错了。但是,我不能确定,因为我看不到实际的数据库检索是在哪里进行的。我在该控件上有两个下拉列表,用于确定下面的网格中显示了哪些数据,网格需要根据其中的数据更改其状态。我是否需要找出如何提前加载数据,然后进行状态更新,或者是否有什么地方我可以推迟更新,并且仍然让它正确呈现?

Page\u PreRenderComplete太晚了,无法操作控件。通常,我们使用预渲染事件

但是,如果要操作位于GridView内部的控件,则需要使用GridView的事件,在该事件中可以使用FindControl查找控件

比如说,

protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{ 
   if(e.Row.RowType == DataControlRowType.DataRow)
   {
      var textbox = e.Row.FindControl("MyTextBox") as TextBox;
   }
}

页面\u PreRenderComplete太晚,无法操作控件。通常,我们使用预渲染事件

但是,如果要操作位于GridView内部的控件,则需要使用GridView的事件,在该事件中可以使用FindControl查找控件

比如说,

protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{ 
   if(e.Row.RowType == DataControlRowType.DataRow)
   {
      var textbox = e.Row.FindControl("MyTextBox") as TextBox;
   }
}

这些是数据绑定控件吗?数据绑定事件呢?这些是数据绑定控件吗?数据绑定事件呢?我需要从控件读取吗?我刚刚直接从数据集中读取了数据。您可以通过将DataItem强制转换为DataRowView this-
DataRowView rowView=(DataRowView)e.Row.DataItem来获取RowDataBound中的其余数据;var data=rowView[“MyColumnName”].ToString()是否需要从控件读取?我刚刚直接从数据集中读取了数据。您可以通过将DataItem强制转换为DataRowView this-
DataRowView rowView=(DataRowView)e.Row.DataItem来获取RowDataBound中的其余数据;var data=rowView[“MyColumnName”].ToString()