21

次のように、実行時に objectDataSource にパラメーターを追加しようとしています。

        Parameter objCustomerParameter = new Parameter("CustomerID", DbType.String, customerID);
        Parameter objGPDatabaseParameter = new Parameter("Database", DbType.String, gpDatabase);

        //set up object data source parameters
        objCustomer.SelectParameters["CustomerID"] = objCustomerParameter;
        objCustomer.SelectParameters["Database"] = objGPDatabaseParameter;

objectDataSource ライフサイクルのどの時点でこれらのパラメーターを追加する必要がありますか (どのイベント)? また、一部の値は、マスター ページ プロパティ ( objectDataSource を含むページの page_load の後に読み込まれる) から取得されます。

4

2 に答える 2

35

使用しようとしている操作のイベントにそれらを追加します。たとえば、これらのパラメーターが SELECT コマンドの一部である場合は Selecting イベントに追加し、UPDATE コマンドで使用する必要がある場合は Updating イベントに追加します。

ObjectDataSource は、各操作を実行する前にイベントを発生させます。これは、パラメーターを挿入する (または既存のパラメーターを検証/変更する) ことができるときです。

また、ODS 自体のパラメーター コレクションを変更しようとしないでください。イベント ハンドラーに渡される ObjectDataSourceSelectingEventArgs にパラメーターを追加します。

何かのようなもの:

e.InputParameters["CustomerID"] = customerId;
e.InputParameters["database"] = dbName;
于 2008-10-25T13:43:12.647 に答える
3

できるだけ早く追加してください。PreInitイベントで。これは初期化の一部であるため、そこで実行する必要があります。

詳細については、ASP.NETページのライフサイクルの概要を参照してください。

于 2008-10-24T20:49:29.160 に答える