我有一个文本框,我想将其设为搜索栏。我的表有一个 int“id”和 varchar(50)“name”。我想在同一个文本框中搜索名称或 ID。这可能吗?我已经尝试了很多方法,但还没有找到解决方案。
这是我所拥有的:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:New_QuickBooksConnectionString %>"
SelectCommand="SELECT * FROM [Testing1]" FilterExpression="([id] = {0}) OR ([name] LIKE '%(CAST {0} AS VARCHAR(50))%')">
<FilterParameters>
<asp:ControlParameter ControlID="TextBox1" Name="id" PropertyName="Text" Type="int32" />
</FilterParameters>
</asp:SqlDataSource>
当我输入数字时,这只会返回 id。这对名字不起作用。我能做什么?
最佳答案
尝试更改 type = "String"
并将 ID 转换为 String
,例如 CONVERT([Id],'System.String') like '{ 0}'
关于asp.net - FilterExpression 搜索栏 - 多种数据类型(int 和 varchar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20506443/