asp:QueryStringParameter和空查询字符串参数

aba*_*hev 8 .net sql-server asp.net sqldatasource querystringparameter

我正在asp:GridView使用显示客户端请求asp:SqlDataSource.我想限制客户显示的信息:

View.aspx必须显示所有内容,View.aspx?client=1必须仅显示来自客户端ID#1的请求.

所以我<asp:QueryStringParameter Name="client" QueryStringField="client" />用于查询"EXEC getRequests @client".

指定某个客户端时,一切正常.但不要 - 如果不是.

我使用SSMS测试了我的SP - 它在两种情况下都正常工作 - 指定参数时和不显示参数时(NULL显式传递).

我做了什么?

ric*_*eym 16

如果SqlDataSource的任何参数为null,则不会触发它,除非您另行指定:

<asp:SqlDataSource CancelSelectOnNullParameter="False" />
Run Code Online (Sandbox Code Playgroud)

可能还需要在querystring参数中添加一个null默认值:

<asp:QueryStringParameter Name="client" QueryStringField="client" DefaultValue="" ConvertEmptyStringToNull="True" />
Run Code Online (Sandbox Code Playgroud)