Mam asp:GridView
wyświetlanie żądań klientów za pomocą asp:SqlDataSource
. Chcę ograniczyć wyświetlane informacje przez klienta:asp: QueryStringParameter i pusty parametr ciągu zapytania
View.aspx
musi wyświetlić wszystko, View.aspx?client=1
ma wyświetlić tylko żądania z ID klienta # 1.
Używam więc <asp:QueryStringParameter Name="client" QueryStringField="client" />
dla zapytania "EXEC getRequests @client"
.
Wszystko działa poprawnie, gdy określony jest określony klient. Ale nie - jeśli nie.
Przetestowałem mój SP przy użyciu SSMS - działa on poprawnie w obu przypadkach - gdy parametr jest określony, a gdy nie jest (NULL
przekazany jawnie).
Co mam zrobić?
Wygląda na to, że otwierasz się do całkiem poważnych wektorów ataku SQL z takim podejściem. – womp
@womp: Jak się otwieram? QueryStringParameter jest dodawany z opóźnieniem kodu tylko dla użytkowników z odpowiednimi uprawnieniami i po wielu kontrolach. – abatishchev
AH, jeśli to oczyszczasz, to w porządku. Wyglądało to tak, jakbyś używał go bezpośrednio. – womp