Question

Je haveasp:GridView afficher les demandes des clients à l'aide asp:SqlDataSource. Je veux limiter les informations affichées par le client:

View.aspx doit tout d'affichage, View.aspx?client=1 doit afficher uniquement les demandes d'ID client # 1.

J'utilise <asp:QueryStringParameter Name="client" QueryStringField="client" /> pour "EXEC getRequests @client" de requête.

Tout fonctionne correctement lorsque certains clients est spécifié. Mais ne sont pas -. Sinon

Je l'ai testé mon SP en utilisant SSMS - il fonctionne correctement dans les deux cas - lorsque le paramètre est spécifié et quand il n'est pas (NULL passé explicitement)

.

Qu'est-ce que je peux faire?

Était-ce utile?

La solution

SqlDataSource ne se déclenche pas si l'un des paramètres de celui-ci sont nuls, sauf indication contraire:

<asp:SqlDataSource CancelSelectOnNullParameter="False" />

Il pourrait également être nécessaire d'ajouter une valeur par défaut null à votre paramètre querystring:

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

Autres conseils

Vous devez définir une valeur par défaut au paramètre pour ces situations, par exemple:

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

puis dans la SP dont vous avez besoin de vérifier si le client est 0, retourner tous les clients, sinon celui spécifique.

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