今天,程序突然出现下面的错误:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IndexOutOfRangeException: 在位置 0 处没有任何行。
源错误:
“/auto.dg.gd.cn”应用程序中的服务器错误。
在位置 0 处没有任何行。
行
32
:
private
void
Data_Binding()
行 33 : ... {
行 34: DataRow dr = objSynopsis.GetSynopsisByMember(_memberKey).Rows[0];
行 35: this.lblCompanyName.Text = dr["CompanyName"].ToString();
行 36: this.lblAddress.Text = dr["Address"].ToString();
行 33 : ... {
行 34: DataRow dr = objSynopsis.GetSynopsisByMember(_memberKey).Rows[0];
行 35: this.lblCompanyName.Text = dr["CompanyName"].ToString();
行 36: this.lblAddress.Text = dr["Address"].ToString();
源文件: d:/auto.dg.gd.cn/CheHang/CheHangPageFooter.ascx.cs 行: 34
堆栈跟踪:
[IndexOutOfRangeException: 在位置
0
处没有任何行。]
System.Data.RBTree` 1 .GetNodeByIndex(Int32 userIndex) + 148
System.Data.RBTree` 1 .get_Item(Int32 index) + 18
System.Data.DataRowCollection.get_Item(Int32 index) + 12
CheHang_CheHangPageFooter.Data_Binding() in d:auto.dg.gd.cnCheHangCheHangPageFooter.ascx.cs: 34
CheHang_CheHangPageFooter.Page_Load(Object sender, EventArgs e) in d:auto.dg.gd.cnCheHangCheHangPageFooter.ascx.cs: 29
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) + 13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) + 43
System.Web.UI.Control.OnLoad(EventArgs e) + 80
System.Web.UI.Control.LoadRecursive() + 49
System.Web.UI.Control.LoadRecursive() + 132
System.Web.UI.Control.LoadRecursive() + 132
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 3750
System.Data.RBTree` 1 .GetNodeByIndex(Int32 userIndex) + 148
System.Data.RBTree` 1 .get_Item(Int32 index) + 18
System.Data.DataRowCollection.get_Item(Int32 index) + 12
CheHang_CheHangPageFooter.Data_Binding() in d:auto.dg.gd.cnCheHangCheHangPageFooter.ascx.cs: 34
CheHang_CheHangPageFooter.Page_Load(Object sender, EventArgs e) in d:auto.dg.gd.cnCheHangCheHangPageFooter.ascx.cs: 29
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) + 13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) + 43
System.Web.UI.Control.OnLoad(EventArgs e) + 80
System.Web.UI.Control.LoadRecursive() + 49
System.Web.UI.Control.LoadRecursive() + 132
System.Web.UI.Control.LoadRecursive() + 132
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 3750
版本信息: Microsoft .NET Framework 版本:2.0.50727.1378; ASP.NET 版本:2.0.50727.1378
检查经发现,原来“_memberKey”没有取得到值时,就去做数据绑定。
解决的办法,加上一个判断。
if
(objSynopsis.GetSynopsisByMember(_memberKey).Rows.Count
>
0
)
... {
DataRow dr = objSynopsis.GetSynopsisByMember(_memberKey).Rows[0];
//other code
}
... {
DataRow dr = objSynopsis.GetSynopsisByMember(_memberKey).Rows[0];
//other code
}