我是与 asp.net 合作的新手之王,但我目前正在学习中,所以客户在使用我将放入错误的网页时遇到了这个错误。需要查找此错误发生的位置和原因以及如何解决它?
Sequence contains more than one element
说明:执行当前 Web 请求期间发生未经处理的异常。请查看堆栈跟踪,了解有关错误及其在代码中起源位置的详细信息。
异常详细信息:系统无效操作异常:序列包含 多个元素
源错误:
在执行 当前网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈跟踪:
[无效操作异常:序列包含多个元素]
System.Linq.Enumerable.SingleOrDefault(IEnumerable'1 source) +5923404
FastMenu.OrdersInfo.rpt_Orders_ItemDataBound(对象发送方, DataListItemEventArgs e) +304
System.Web.UI.WebControls.DataListItemEventHandler.Invoke(Object sender, DataListItemEventArgs e) +0
System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs e) +12178161
System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +199
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean 使用数据源) +995
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +174
FastMenu.OrdersInfo.dl_Orders_ItemDataBound(对象发送方, DataListItemEventArgs e) +1690
System.Web.UI.WebControls.DataListItemEventHandler.Invoke(Object sender, DataListItemEventArgs e) +0
System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs e) +12178161
System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +199
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean 使用数据源) +995
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +174
FastMenu.OrdersInfo.dl_AllOrdersData_ItemDataBound(对象发送方, DataListItemEventArgs e) +2097
System.Web.UI.WebControls.DataListItemEventHandler.Invoke(Object sender, DataListItemEventArgs e) +0
System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs e) +12178161
System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +199
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean 使用数据源) +995
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +174
快速菜单.订单信息.填充订单() +139
FastMenu.OrdersInfo.Page_Load(对象发送方,事件参数 e) +1706
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
如果查询返回多个项目,SingleOrDefault
引发该异常。这很好,因为您知道查询不正确或数据库(或集合)不一致。
因此,要么更正查询,使其只返回一个项目,要么使用 FirstOrDefault
执行相同的操作,但如果序列中有多个项目,则不会引发异常。