ASP:QueryStringParameterおよび空のクエリ文字列パラメーター
-
30-09-2019 - |
質問
私は持っていますasp:GridView
使用を使用してクライアントリクエストを表示します asp:SqlDataSource
. 。クライアントによる表示情報を制限したい:
View.aspx
すべてを表示する必要があります、 View.aspx?client=1
クライアントID#1からのリクエストのみを表示する必要があります。
だから私は使っています <asp:QueryStringParameter Name="client" QueryStringField="client" />
クエリ用 "EXEC getRequests @client"
.
一部のクライアントが指定されている場合、すべてが適切に機能します。しかし、そうでない場合はそうではありません。
SSMを使用してSPをテストしました - 両方の場合に適切に機能します - パラメーターが指定されていない場合とそうでない場合(NULL
明示的に渡された)。
私は何をしましたか?
解決
特に指定しない限り、SQLDATASOURCEのいずれかがnullである場合、sqldatasourceは発生しません。
<asp:SqlDataSource CancelSelectOnNullParameter="False" />
また、QueryStringパラメーターにnullデフォルト値を追加する必要がある場合があります。
<asp:QueryStringParameter Name="client" QueryStringField="client" DefaultValue="" ConvertEmptyStringToNull="True" />
他のヒント
たとえば、次のような状況のパラメーターにデフォルト値を定義する必要があります。
<asp:QueryStringParameter Name="client" QueryStringField="client" DefaultValue="0"/>
そして、SPでは、クライアントが0の場合、すべてのクライアントを返し、それ以外の場合は特定のクライアントを確認する必要があります。
所属していません StackOverflow