使用最初未使用的 SelectParameter 初始化网格视图
本文关键字:SelectParameter 初始化 网格 视图 未使用 | 更新日期: 2023-09-27 18:32:46
有没有办法在 SelectCommand 中未调用的数据源的 SelectParameters 中定义 SessionParamters?
我希望定义参数,以便在初始页面生成后可以使用它,但是当它未在 SelectCommand 中使用时,数据源似乎不起作用 - 调用它的 GridView 显示为空,但在排除未使用的参数时生成正常。
例如,以下定义将成功填充网格视图:
<asp:SqlDataSource ID="DataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>" SelectCommand="SELECT * FROM Customers WHERE @UsedParameter='Green'">
<SelectParameters>
<asp:SessionParameter Name="UsedParameter" SessionField="Parameter1" />
</SelectParameters>
</asp:SqlDataSource>
而以下内容不会填充网格视图:
<asp:SqlDataSource ID="DataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>" SelectCommand="SELECT * FROM Customers WHERE @UsedParameter='Green'">
<SelectParameters>
<asp:SessionParameter Name="UsedParameter" SessionField="Parameter1" />
<asp:SessionParameter Name="UnUsedParameter2" SessionField="Parameter2" />
</SelectParameters>
</asp:SqlDataSource>
这很有趣...我想我以前在忘记删除参数时见过这个问题。 既然您稍后可能会更改 select 命令以使用其他参数,为什么不在那时直接添加参数?
.VB
Dim p As New SessionParameter("UnUsedParameter2", "Parameter2")
DataSource1.SelectParameters.Add(p)
C#
SessionParameter p = new SessionParameter("UnUsedParameter2", "Parameter2")
DataSource1.SelectParameters.Add(p);