有没有办法在SelectSmand中调用的DataSource的SelectParameters中定义SessionParamters?
我希望定义参数以便稍后在初始页面生成之后使用它,但是当它在SelectCommand中没有使用时,DataSource似乎不起作用 - 调用它的GridView显示为空,但生成正常何时排除未使用的参数。
例如,以下定义将成功填充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>
以下内容不会填充GridView:
<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>
答案 0 :(得分:1)
这很有意思......我想在忘记删除参数之前我已经看到了这个问题。由于您可能稍后要更改select命令以使用其他参数,为什么不在那时添加参数?
<强> VB 强>
Dim p As New SessionParameter("UnUsedParameter2", "Parameter2")
DataSource1.SelectParameters.Add(p)
<强> C#强>
SessionParameter p = new SessionParameter("UnUsedParameter2", "Parameter2")
DataSource1.SelectParameters.Add(p);