2

EnabledDelete、EnabledUpdate、EnabledInsert のない LinqDataSource がある場合、正常に動作しますが、これらのプロパティをデータ ソースに追加するとすぐにエラーが発生します。

このオブジェクトにはパラメーターなしのコンストラクターが定義されていません。

4

2 に答える 2

1

これは、MSDN フォーラムからの問題の解決に役立つ回答です。

LinqDataSource には、DataContext の既定のコンストラクターが必要です。Web アプリケーションまたは Web サイト プロジェクトで作業している場合、テーブルをデータベースからデザイン サーフェイスにドラッグすると、Linq to SQL デザイナーによって既定のコンストラクターと接続文字列が作成されているはずです。

DataContext を作成し、Web アプリまたは Web サイト プロジェクトからテーブルをデザイン サーフェイスにドラッグしましたか? 生成された Lib.NorthwindDataContext クラスを開き、既定のコンストラクターがあるかどうかを確認します。

本当に必要な場合は、ContextCreating イベントを処理して独自のコンテキスト インスタンスを提供することにより、既定のコンストラクターなしで LinqDataSource を使用することもできます。

于 2010-10-12T11:44:52.223 に答える
1

エラーが示すように、クラスにパラメーターなしのコンストラクターを提供する必要があります。

public class MyClass
 {
   public MyClass()
   {
     // This is the parameterless constructor
   }
   // rest of the class members goes here.
  } 

クラスのインスタンスを自動的に作成する必要がある場合、システムはパラメーターなしのコンストラクターを必要とします。他のコンストラクターのパラメーターの意味を判断できないため、このコンストラクターに依存します。

コンストラクターが何もしなくても機能しますが、クラス プロパティに便利な既定値を提供したい場合があります。

于 2010-02-18T16:37:05.000 に答える