C# Sqldatasouce中的过滤器表达式
我有一个sqldatasource,其中添加了一个简单的过滤器表达式,只是为了测试C# Sqldatasouce中的过滤器表达式,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,我有一个sqldatasource,其中添加了一个简单的过滤器表达式,只是为了测试 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [project_details]"
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [project_details]"
FilterExpression="id=33"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
EnableCaching="True">
更新面板中的网格视图,其数据源为sqldatasouce1。但在执行此页面时,网格视图显示了所有过滤结果。请帮助我,我在这里完全震惊了如果id以文本格式存储,那么您可能希望在表达式中使用单引号,如下所示:
id='33'如果id以文本格式存储,则可能需要在表达式中使用单引号,如下所示:
id='33'::数据源模式已设置为“数据集”,是否检查了打字错误?您确定使用的是正确的SqlDatasourceID吗?FilterExpression应该可以正常工作。是的。我已经检查了大约一百次了。我试着按照你说的方式使用“where”它工作正常。但是如果我没有给参数指定参数值,也会出现一个问题。它不会显示任何结果。因为用户应该在运行时添加where参数。::数据源模式已设置为“数据集”。是否检查了打字错误?您确定使用的是正确的SqlDatasourceID吗?FilterExpression应该可以正常工作。是的。我已经检查了大约一百次了。我试着按照你说的方式使用“where”它工作正常。但是如果我不为参数提供参数值,也会出现一个问题。它不会显示任何结果。因为假定用户在运行时添加where参数。不工作。我认为单个qoute仅适用于字符串字段。MSDN您可以在FilterExpression属性中包含参数。如果参数是字符串或字符类型,请将参数用单引号括起来。如果参数是数字类型,则不需要引号。FilterParameters集合包含为在FilterExpression属性中找到的占位符计算的参数。这就是为什么我写“If”…我不知道您的字段是什么格式,我给了您一个示例解决方案,以防它是字符串。不起作用。我认为单个qoute仅适用于字符串字段。MSDN您可以在FilterExpression属性中包含参数。如果参数是字符串或字符类型,请将参数用单引号括起来。如果参数是数字类型,则不需要引号。FilterParameters集合包含为在FilterExpression属性中找到的占位符计算的参数。这就是为什么我写了“如果”…我不知道字段的格式,我给了您一个示例解决方案,以防它是字符串。