我有一个向我的 GridView 提供数据的 SqlDataSource。这就是我在表单上使用的全部内容,因此我根本没有代码。但是在某个地方我需要一个 TRY CATCH 块,以防我的连接丢失。我必须在哪里放置什么代码?
如果我收到错误,我希望我的 lblMessage 文本为“无连接”。
编辑
我的 Machine.aspx 中的 GridView
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
Height="209px" PageSize="7" Width="331px" AllowSorting="True"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="Total" HeaderText="Total" ReadOnly="True"
SortExpression="Total" DataFormatString="{0:R#,###,###}" >
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="b134_rmcid" HeaderText="Machine" ReadOnly="True"
SortExpression="b134_rmcid" >
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="b134_recdate" DataFormatString="{0:d/MM/yyyy}"
HeaderText="Date" ReadOnly="True" SortExpression="b134_recdate" >
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
</Columns>
</asp:GridView>
我在 Machine.aspx 中的 Gridview 下的连接
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ODBC_ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ODBC_ConnectionString.ProviderName %>"
SelectCommand="SELECT SUM(b134_nettpay) AS Total, b134_rmcid, b134_recdate FROM B134HRE"
onselected="SqlDataSource1_Selected">
</asp:SqlDataSource>
我的代码在我的 Machine.aspx.cs 中的代码隐藏文件中
protected void Page_Load(object sender, EventArgs e)
{
lblError.Text = "hello there";
SqlDataSource1.Selected += new SqlDataSourceStatusEventHandler(SqlDataSource1_Selected);
}
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
if (e.ExceptionHandled)
{
lblError.Text = "There is a problem";
}
}
当我在我的选定事件中放置一个断点时,仍然有一些准备好它甚至没有到达它???
为什么?