Comment configurer les paramètres de sélection ObjectDataSource au moment de l'exécution

StackOverflow https://stackoverflow.com/questions/235166

  •  04-07-2019
  •  | 
  •  

Question

J'essaie d'ajouter des paramètres à un objet objectDataSource lors de l'exécution, comme ceci:

        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;

À quel moment du cycle de vie d’objectDataSource ces paramètres doivent-ils être ajoutés (quel événement)? De plus, certaines valeurs proviennent d'une propriété de page maître (qui charge après le chargement de page de la page contenant l'objet objectDataSource).

Était-ce utile?

La solution

Ajoutez-les à l'événement pour l'opération que vous essayez d'utiliser. Par exemple, si ces paramètres font partie de la commande SELECT, ajoutez-les à l'événement Selecting, s'ils doivent utiliser la commande UPDATE, puis ajoutez-les à l'événement Updating.

ObjectDataSource déclenche un événement avant d'effectuer chaque opération. Vous pouvez alors insérer des paramètres (ou valider / modifier des paramètres existants).

De plus, n'essayez pas de modifier la collection de paramètres de l'ODS elle-même. Vous souhaitez ajouter vos paramètres à l'objet ObjectDataSourceSelectingEventArgs transmis au gestionnaire d'événements.

Quelque chose comme:

e.InputParameters["CustomerID"] = customerId;
e.InputParameters["database"] = dbName;

Autres conseils

Ajoutez le plus tôt possible. lors de l'événement PreInit . Cela fait partie de l’initialisation et devrait donc être fait ici.

Voir Présentation du cycle de vie d'une page ASP.NET pour plus d'informations. informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top