我正在使用C#和ASP.NET开发一个监视网页,我需要在具有不同数据源的多个Gridview中显示数据。有时,这些数据源之一无法连接或超时,结果页面无法加载。
是否可以在页面加载时(例如在更新面板内)单独加载gridviews,以便如果一个gridviews无法加载,则其余页面不会受到影响?
我尝试在try / catch中包装SqlDataSource \的连接和Gridview的绑定,但是如果到sql源的连接失败,则整个页面将无法加载。
我正在页面加载时执行以下功能
protected void LoadReceivingState(string conString, string SelectCommand)
{
string resultcode = "";
try
{
SqlDataSource_ReceivingState.ConnectionString = ConfigurationManager.ConnectionStrings[conString].ConnectionString;
SqlDataSource_ReceivingState.SelectCommand = SelectCommand;
SqlDataSource_ReceivingState.SelectCommandType = System.Web.UI.WebControls.SqlDataSourceCommandType.StoredProcedure;
SqlDataSource_ReceivingState.DataBind();
GridView_ReceivingState.DataSourceID = null;
GridView_ReceivingState.DataSource = null;
GridView_ReceivingState.DataSource = SqlDataSource_ReceivingState;
GridView_ReceivingState.DataBind();
GridView_ReceivingState.Visible = true;
//PanelAppTracking.Visible = true;
}
catch (SqlException ex)
{
GridView_ReceivingState.Visible = false;
resultcode = "code: " + ex.Number.ToString() + "Error: " + ex.Message.ToString();
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert(resultcode);", true);
}
}