LinqDataSource.ContextCreating LinqDataSource.ContextCreating LinqDataSource.ContextCreating LinqDataSource.ContextCreating Event

定義

コンテキスト タイプ オブジェクトのインスタンスが作成される前に発生します。Occurs before an instance of the context type object is created.

public:
 event EventHandler<System::Web::UI::WebControls::LinqDataSourceContextEventArgs ^> ^ ContextCreating;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceContextEventArgs> ContextCreating;
member this.ContextCreating : EventHandler<System.Web.UI.WebControls.LinqDataSourceContextEventArgs> 
Public Custom Event ContextCreating As EventHandler(Of LinqDataSourceContextEventArgs) 

次の例は、 ContextCreatingイベント中にパラメーターなしのコンストラクターを使用して、データコンテキストオブジェクトを作成する方法を示しています。The following example shows how to create the data context object by using a non-parameterless constructor during the ContextCreating event. このコードは、オブジェクトをObjectInstanceプロパティに割り当てます。The code assigns the object to the ObjectInstance property.

protected void LinqDataSource_ContextCreating(object sender, LinqDataSourceContextEventArgs e)
{
    e.ObjectInstance = new ExampleDataContext(ConfigurationManager.ConnectionStrings["ExampleConnectionString"].ConnectionString);
}
Protected Sub LinqDataSource_ContextCreating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceContextEventArgs)
    e.ObjectInstance = New ExampleDataContext(ConfigurationManager.ConnectionStrings("ExampleConnectionString").ConnectionString)
End Sub

注釈

既定では、 LinqDataSourceコントロールは、 ContextTypeNameプロパティで指定された型のインスタンスを作成します。By default, the LinqDataSource control creates an instance of the type that is specified in the ContextTypeName property. コントロールLinqDataSourceは、データコンテキストオブジェクトのパラメーターなしのコンストラクターを呼び出して、オブジェクトのインスタンスを作成します。The LinqDataSource control calls the parameterless constructor of the data context object to create an instance of the object. パラメーターなしのコンストラクターを使用するか、 ContextTypeNameプロパティに指定されているものとは異なるオブジェクトを作成する必要がある可能性があります。It is possible that you have to use a non-parameterless constructor or you have to create an object that differs from the one specified in the ContextTypeName property. その場合は、 ContextCreatingイベントを処理し、データコンテキストオブジェクトを手動で作成する必要があります。In that case, you must handle the ContextCreating event and manually create the data context object.

Context 型オブジェクトは、select、update、insert、delete の各操作中に作成されます。The context type object is created during select, update, insert, and delete operations.

イベントが発生しない場合は、1回だけ発生します。There is one time when the event is not raised. これは、プログラムを使用しResultて、 Selectingイベントのイベントハンドラー内のオブジェクトにプロパティを設定する場合です。This is when you programmatically set the Result property to an object in an event handler for the Selecting event. 追加の条件として、元の値をビューステートに格納する必要がないこと、またはResultプロパティのオブジェクトがインターフェイスをITable実装していることが挙げられます。An additional condition is that either the original values do not have to be stored in view state, or the object in the Result property implements the ITable interface.

適用対象