Frage

I haveasp:GridView Anzeigen Client-Anfragen mit asp:SqlDataSource. Ich möchte angezeigten Informationen durch den Kunden begrenzen:

View.aspx zu Anzeige hat alles, View.aspx?client=1 muss nur Anforderungen von Client-ID # 1 anzuzeigen.

Also ich bin mit <asp:QueryStringParameter Name="client" QueryStringField="client" /> für die Suche nach "EXEC getRequests @client".

Alles funktioniert einwandfrei, wenn einige Client angegeben wird. Aber nicht -. Wenn nicht

testete ich meine SP mit SSMS - es funktioniert in beiden Fällen - wenn Parameter angegeben wird und wenn dies nicht der Fall (NULL bestand explizit)

.

Was habe ich zu tun?

War es hilfreich?

Lösung

SqlDataSource wird nicht ausgelöst, wenn irgendetwas davon die Parameter sind null, es sei denn, Sie angeben, sonst:

<asp:SqlDataSource CancelSelectOnNullParameter="False" />

Es könnte auch notwendig sein, um einen Null-Standardwert für Ihren Abfragezeichenfolgeflag Parameter hinzuzufügen:

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

Andere Tipps

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

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

und dann in der SP Sie müssen überprüfen, ob der Kunde 0 ist, kehren alle Clients, da sonst die spezifischen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top