Ich habe asp:GridView
Client-Anforderungen mit asp:SqlDataSource
angezeigt. Ich möchte die angezeigten Informationen nach Client beschränken:asp: QueryStringParameter und leere Abfrage String-Parameter
View.aspx
muss alles anzeigen, View.aspx?client=1
muss nur Anfragen von Client ID # 1 anzeigen.
So verwende ich <asp:QueryStringParameter Name="client" QueryStringField="client" />
für Abfrage "EXEC getRequests @client"
.
Alles funktioniert ordnungsgemäß, wenn ein Client angegeben ist. Aber nicht - wenn nicht.
Ich habe meine SP mit SSMS getestet - es funktioniert in beiden Fällen ordnungsgemäß - wenn Parameter angegeben ist und wenn nicht (NULL
explizit übergeben).
Was habe ich getan?
Sieht so aus, als ob Sie sich mit diesem Ansatz für einige ziemlich seriöse SQL-Injection-Angriffsvektoren öffnen. – womp
@womp: Wie öffne ich? QueryStringParameter wird in Code-Behind nur für Benutzer mit entsprechenden Rechten und nach einer Reihe von Überprüfungen hinzugefügt. – abatishchev
AH, wenn Sie es sanieren, dann ist das in Ordnung. Es sah einfach von deiner Frage aus, als ob du es direkt benutzt hättest. – womp