如何将传递给SqlDataSource的参数设置为null? 以下是我的代码,其中参数“@var1”从TextBox中设置。但是,如果未定义该值,则需要将“@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>
SqlDataSource
标记中添加了EnableViewState="False"
(如果我没记错的话是在MSDN论坛上找到的)才使它对我起作用。 - JuSTMOnIcAjUSTmONiCAJusTMoNICa