¿Cómo configuro los parámetros de selección de ObjectDataSource en el tiempo de ejecución?

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

  •  04-07-2019
  •  | 
  •  

Pregunta

Estoy intentando agregar parámetros a un objectDataSource en tiempo de ejecución como este:

        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;

¿En qué punto del ciclo de vida de objectDataSource deberían agregarse estos parámetros (qué evento)? Además, algunos valores provienen de una propiedad de página maestra (que carga después de la carga de página de la página que contiene el objectDataSource).

¿Fue útil?

Solución

Agréguelos al evento para la operación que está intentando usar. Por ejemplo, si estos parámetros forman parte del comando SELECCIONAR, luego agréguelos al evento de Selección, si necesitan ir con el comando ACTUALIZACIÓN, agréguelos al evento de Actualización.

El ObjectDataSource genera un evento antes de realizar cada operación, que es cuando puede insertar parámetros (o validar / modificar parámetros existentes).

Además, no intente modificar la colección de parámetros del ODS en sí. Desea agregar sus parámetros al ObjectDataSourceSelectingEventArgs que se pasa al controlador de eventos.

Algo así como:

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

Otros consejos

Agregue lo antes posible; en el evento PreInit . Esto es parte de la inicialización, por lo que debe hacerse allí.

Consulte la Descripción general del ciclo de vida de la página ASP.NET para obtener más información información.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top