6

コントロールの[削除]ボタン/リンクをクリックすると、このエラーが発生しますGridView

LinqDataSource [DataSource]は、削除、挿入、または更新操作が有効になっている場合、Selectプロパティをサポートしません

私のサイトの別のウェブページで同じことをすでに行っているため、なぜこのエラーが発生するのかよくわかりませんが、その場合のデータの読み取り元のテーブルには外部キーがありません。これはします。エラーが発生するのはそのためですか?

重要な場合は、AutoGenerateDeleteButtonプロパティがに設定され、データベースからデータを取得するためにTrueを使用しています。linqdatasource

任意の入力をいただければ幸いです:)

4

3 に答える 3

11

最後に、すべてのデータを選択し(データソースウィザードの*オプションを使用)、GridViewに表示したくない列を削除する必要がありました。これは少し非効率的かもしれませんが、うまくいきました。

于 2009-10-21T10:53:31.330 に答える
1

この問題に遭遇し、他の場所で解決策と説明を見つけました。

Selectステートメントの結果は匿名タイプになりますが、LinqDataSourceによってDelete / Update/Insertステートメントを生成する必要がある場合はマップされない可能性があります。ソーステーブル(linq)は、データベース操作のメタデータを生成するために使用されます。

データソース内のすべての列を取得する必要がある場合は、パフォーマンスのわずかな低下に耐える必要がありますが、バックグラウンドでいくつかの作業を実行します。私が好きです。

また、GridViewを使用する場合は、DataKeyNamesプロパティをデータソースの主キーに指定する必要があります。

クリスタルクリア!?;)

于 2010-07-05T09:52:03.700 に答える
0

確かに、問題は、データソース構成に主キーを含めてから、この主キーを非表示としてマークする必要があることです。

于 2011-11-16T16:40:33.690 に答える