75

カート内の数量を更新していますが、シーケンスをスローしていますが、要素の例外はありません。

そして、それが何を意味するのかさえわかりません。最初は、どこかにnull値が渡されているのではないかと思いましたが、それを確認したので、そうではありません。

シーケンスに要素が含まれていません説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。

例外の詳細:System.InvalidOperationException:シーケンスに要素が含まれていません

ソースエラー:

35行目:var uid = WebSecurity.CurrentUserId; 36行目:var newqty = Request.Form ["Quantity"]; 37行目:
OModel.Cart c =(データベース内のアイテムから。カート38行目:
ここでitem.UserId == uid && item.PartNumber == pnumber && item.OrderId == oid 39行目:アイテムを選択).First();

これを引き起こしている可能性のあるアイデアはありますか?

4

6 に答える 6

140

First()selectが0行を返す場合、これが原因です。その例外をキャッチするか、FirstOrDefault()要素がない場合にnullを返すを使用する必要があります。

于 2012-08-03T19:05:38.550 に答える
17

linqのFirst()メソッドを使用しています。このメソッドは、ドキュメントに従って、空のコレクションで呼び出すと、InvalidOperationExceptionをスローします。

クエリの結果が空になることがあると予想される場合は、例外をスローする代わりに、コレクションが空の場合にnullを返すFirstOrDefault()を使用することをお勧めします。

于 2012-08-03T19:07:32.323 に答える
5

.First()に変更する代わりに.FirstOrDefault()

于 2012-08-03T19:05:53.823 に答える
1

値がnullであるため、理由を確認する必要があります...(ここで提案されているソリューションの実装に加えて)

ハードウェア接続を確認してください。

于 2016-07-31T05:01:55.213 に答える
1

'handle'に対する答えの一部'シーケンスには要素がありません' VBの例外は、空をテストすることです

If Not (myMap Is Nothing) Then
' execute code
End if

MyMapは、空/nullを返すクエリされたシーケンスです。ご参考までに

于 2018-05-07T13:52:00.437 に答える
0

同じ問題が発生しました。特定のファイルで、不足しているメディアを更新するだけで、フォルダにあったデフォルトの画像を削除したことに気付きました。

于 2020-06-15T10:25:09.703 に答える