次のように、実行時に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をロードしますafter)から取得されます。
使用しようとしている操作のイベントにそれらを追加します。たとえば、これらのパラメーターがSELECTコマンドの一部である場合は、それらをSelectingイベントに追加し、UPDATEコマンドを使用する必要がある場合は、それらをUpdateingイベントに追加します。
ObjectDataSourceは、各操作を実行する前にイベントを発生させます。そのときに、パラメーターを挿入(または既存のパラメーターを検証/変更)できます。
また、ODS自体のパラメータコレクションを変更しようとしないでください。イベントハンドラーに渡されるObjectDataSourceSelectingEventArgsにパラメーターを追加します。
何かのようなもの:
e.InputParameters["CustomerID"] = customerId;
e.InputParameters["database"] = dbName;
できるだけ早く追加してください。 PreInit
イベントで。これは初期化の一部なので、そこで行う必要があります。
詳細については、 ASP.NETページのライフサイクルの概要 を参照してください。