Pregunta

Me haveasp:GridView presentan solicitudes de los clientes que utilizan asp:SqlDataSource. Quiero limitar la información mostrada por el cliente:

View.aspx tiene a la visualización de todo, View.aspx?client=1 tiene que mostrar sólo las peticiones de identificación de cliente # 1.

Así que estoy usando para <asp:QueryStringParameter Name="client" QueryStringField="client" /> "EXEC getRequests @client" consulta.

Todo funciona correctamente cuando se especifica algún cliente. Pero no -. Si no

He probado mi SP utilizando SSMS - que funciona correctamente en ambos casos - cuando se especifica el parámetro y cuando no lo es (NULL pasa explícitamente)

.

¿Qué he de hacer?

¿Fue útil?

Solución

SqlDataSource no se disparará si alguno de sus parámetros son nulos, a no ser que se especifique lo contrario:

<asp:SqlDataSource CancelSelectOnNullParameter="False" />

También podría ser necesario añadir un valor predeterminado nulo a su parámetro de cadena de consulta:

<asp:QueryStringParameter Name="client" QueryStringField="client" DefaultValue="" ConvertEmptyStringToNull="True" />

Otros consejos

Es necesario definir un valor predeterminado para el parámetro para esas situaciones, por ejemplo:

<asp:QueryStringParameter Name="client" QueryStringField="client" DefaultValue="0"/>

y luego en el SP que tiene que verificar si el cliente es 0, devolver todos los clientes, de lo contrario el uno específico.

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