C# ASP.NET中GridView搜索过滤功能失效 点击仅刷新页面无结果
问题修复方案
你只需要按以下步骤修改代码即可实现搜索过滤功能:
- 第一步:给搜索按钮绑定点击事件
修改aspx页面中的搜索按钮代码,补上OnClick属性关联后端的Search方法:<asp:Button Text="Search" runat="server" OnClick="Search" /> - 第二步:修正SQL参数名的多余空格
后端.cs文件的BindGrid方法中,参数名@UserID后面多了一个空格,导致参数无法正确匹配传入,修改代码为:cmd.Parameters.AddWithValue("@UserID", txtSearch.Text.Trim()); - 第三步:确认表名匹配
检查你的数据库表名,如果你实际的用户表名为Users(和页面中LinqDataSource配置的TableName一致),需要把SQL查询语句中的表名从[User]改成[Users]:cmd.CommandText = "SELECT UserID, UserName, UserEmail, logtime FROM [Users] WHERE UserID LIKE '%' + @UserID + '%'"; - 可选适配:如果UserID为数值类型
若你的UserID字段是int等数值类型,直接用LIKE查询会触发类型转换错误,需要把字段转成字符串后再匹配:cmd.CommandText = "SELECT UserID, UserName, UserEmail, logtime FROM [Users] WHERE CAST(UserID AS VARCHAR(20)) LIKE '%' + @UserID + '%'";
内容的提问来源于stack exchange,提问作者WEI ZHUANG GOH
相关产品推荐
相关产品推荐

