ASP.NET控件中的数据何时加载?
我正在处理一个ASP.NET控件(用于Blackbaud的NetCommunity系统),该控件需要从数据库加载数据,然后根据已加载的数据更新某些控件的启用状态。根据Microsoft的页面生命周期,我可以看到,改变这一点的适当位置是在page_PreRenderComplete事件期间,但这似乎不起作用,所以我猜我错了。但是,我不能确定,因为我看不到实际的数据库检索是在哪里进行的。我在该控件上有两个下拉列表,用于确定下面的网格中显示了哪些数据,网格需要根据其中的数据更改其状态。我是否需要找出如何提前加载数据,然后进行状态更新,或者是否有什么地方我可以推迟更新,并且仍然让它正确呈现?Page\u PreRenderComplete太晚了,无法操作控件。通常,我们使用预渲染事件 但是,如果要操作位于GridView内部的控件,则需要使用GridView的事件,在该事件中可以使用FindControl查找控件 比如说,ASP.NET控件中的数据何时加载?,asp.net,sql-server,Asp.net,Sql Server,我正在处理一个ASP.NET控件(用于Blackbaud的NetCommunity系统),该控件需要从数据库加载数据,然后根据已加载的数据更新某些控件的启用状态。根据Microsoft的页面生命周期,我可以看到,改变这一点的适当位置是在page_PreRenderComplete事件期间,但这似乎不起作用,所以我猜我错了。但是,我不能确定,因为我看不到实际的数据库检索是在哪里进行的。我在该控件上有两个下拉列表,用于确定下面的网格中显示了哪些数据,网格需要根据其中的数据更改其状态。我是否需要找出如
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()代码>