【发布时间】:2016-02-29 19:11:42
【问题描述】:
如何将传递给 SqlDataSource 的参数设置为 null?我有下面的代码,其中参数“@var1”是从文本框设置的。但是,如果未定义该值,我需要将“@var1”设置为 null,以便 coalesce 返回 true。
有没有办法做到这一点,还是我做错了?
我也尝试过设置DefaultValue="null" 和dsABC.SelectParameters["@var1"]=null,它们都会导致“输入字符串格式不正确”错误。
<asp:SqlDataSource ID="dsABC" runat="server" ConnectionString="<%$ ConnectionStrings:abc123 %>"
SelectCommand=" SELECT col1, col2, col3
FROM table1 as T1
WHERE COALESCE(@var1, T.ID) = T.ID">
<SelectParameters>
<asp:ControlParameter Name="var1" ControlID="inputA" PropertyName="Value" DefaultValue="0" Type="Int16" />
</SelectParameters>
</asp:SqlDataSource>
【问题讨论】:
标签: asp.net