カート内の数量を更新していますが、Sequenceには要素の例外がありません。
そして、それがどういう意味なのかわかりません。最初はどこかでnull値が渡されているかもしれないと思っていましたが、そうではありませんでした。
シーケンスに要素が含まれていません説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーの詳細とコードのどこで発生したかについては、スタックトレースを確認してください。
例外の詳細:System.InvalidOperationException:シーケンスに要素が含まれていません
ソースエラー:
35行目:var uid = WebSecurity.CurrentUserId; 36行目:var newqty = Request.Form ["Quantity"]; 37行目:
OModel.Cart c =(database.Carts行38のアイテムから:
where item.UserId == uid && item.PartNumber == pnumber && item.OrderId == oid Line 39:select item).First();
これを引き起こしている可能性のあるアイデアはありますか?
選択が0行を返す場合、First()
が原因です。その例外をキャッチするか、要素がない場合にnullを返すFirstOrDefault()
を使用する必要があります。
LinqのFirst()メソッドを使用しています。このメソッドは、空のコレクションで呼び出すと ドキュメントによる InvalidOperationExceptionをスローします。
クエリの結果が時々空になることが予想される場合は、例外をスローする代わりに、コレクションが空の場合にnullを返すFirstOrDefault()を使用する可能性があります。
.First()
の代わりに.FirstOrDefault()
に変更します
「シーケンス」には「要素がありません」という「ハンドル」に対する回答の一部[〜#〜] vb [〜#〜]の例外は空をテストすることです
If Not (myMap Is Nothing) Then
' execute code
End if
ここで、MyMapは空/ nullを返すクエリシーケンスです。ご参考までに
値がnullであるため、理由を確認する必要があります...(ここで提案されているソリューションの実装に加えて)
ハードウェアの接続を確認してください。