asp: QueryStringParameter und leerer Abfragezeichenfolgenparameter

8

Ich habe asp:GridView Client-Anfragen mit asp:SqlDataSource anzeigen lassen. Ich möchte die angezeigten Informationen nach Client einschränken:

View.aspx muss alles anzeigen, View.aspx?client=1 muss nur Anfragen von Client ID # 1 anzeigen.

Also verwende ich <asp:QueryStringParameter Name="client" QueryStringField="client" /> für die Abfrage "EXEC getRequests @client" .

Alles funktioniert ordnungsgemäß, wenn ein Client angegeben wurde. Aber nicht - wenn nicht.

Ich habe mein SP mit SSMS getestet - es funktioniert in beiden Fällen richtig - wenn ein Parameter angegeben ist und wenn nicht ( NULL explizit übergeben).

Was habe ich zu tun?

    
abatishchev 21.04.2010, 22:39
quelle

2 Antworten

15

SqlDataSource wird nicht ausgelöst, wenn einer seiner Parameter null ist, es sei denn, Sie geben etwas anderes an:

%Vor%

Es könnte auch notwendig sein, Ihrem Querystring-Parameter einen Null-Standardwert hinzuzufügen:

%Vor%     
richeym 21.04.2010, 23:10
quelle
2

Sie müssen einen Standardwert für den Parameter für diese Situationen definieren, zum Beispiel:

%Vor%

und dann in der SP Sie überprüfen müssen, ob der Client 0 ist, geben Sie alle Clients zurück, sonst die bestimmte.

    
Tony Santos 21.04.2010 22:45
quelle