我有asp:GridView
使用 asp:SqlDataSource
显示客户端请求。我想限制客户端显示的信息:
View.aspx
必须显示所有内容,View.aspx?client=1
必须仅显示来自客户端 ID #1 的请求。
所以我正在使用 <asp:QueryStringParameter Name="client" QueryStringField="client" />
查询"EXEC getRequests @client"
.
当指定某个客户端时,一切正常。但不要这样做——如果没有的话。
我使用 SSMS 测试了我的 SP - 在两种情况下都可以正常工作 - 当指定参数和未指定参数时(NULL
显式传递)。
我做了什么?
最佳答案
如果 SqlDataSource 的任何参数为 null,则不会触发,除非您另外指定:
<asp:SqlDataSource CancelSelectOnNullParameter="False" />
可能还需要向查询字符串参数添加 null 默认值:
<asp:QueryStringParameter Name="client" QueryStringField="client" DefaultValue="" ConvertEmptyStringToNull="True" />
关于asp.net - ASP :QueryStringParameter and empty query string parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2687048/