C# 如何使用WhereParameters和EntityDataSource执行类似类型的查询
在后面的代码中,我希望为entitydatasource应用一个动态where子句,但我希望where类似而不相等。我有一个相等的代码,我想要一个等价的代码,以某种方式将其转换成一个类似的语句C# 如何使用WhereParameters和EntityDataSource执行类似类型的查询,c#,asp.net,entitydatasource,C#,Asp.net,Entitydatasource,在后面的代码中,我希望为entitydatasource应用一个动态where子句,但我希望where类似而不相等。我有一个相等的代码,我想要一个等价的代码,以某种方式将其转换成一个类似的语句 EntityDataSource1.WhereParameters.Add("Name", TypeCode.String, tbxSearch.Text); 阅读Jupaol评论后的解决方案: Xaml: 在该代码中,您只添加了一个参数,您需要在where子句中定义类似的比较 您发布的代码可以翻译为:
EntityDataSource1.WhereParameters.Add("Name", TypeCode.String, tbxSearch.Text);
阅读Jupaol评论后的解决方案:
Xaml:
在该代码中,您只添加了一个参数,您需要在where子句中定义类似的比较 您发布的代码可以翻译为:
<asp:EntityDataSource runat="server" ID="eds"
.....
Where="it.fname like '%' + @Name + '%'"
<WhereParameters>
<asp:ControlParameter ControlID="tbxSearch" Name="Name" DefaultValue="" />
</WhereParameters>
Edit1:
出于某种原因,如果我将参数声明放在与您类似的位置(在代码中),它将不起作用,但是如果我将参数放在标记中,如下所示:
<WhereParameters>
<asp:ControlParameter ControlID="tbxSearch" Name="Name" Type="String" DefaultValue="" />
</WhereParameters>
它工作正常我想在代码隐藏中完成它。。。由于我需要在某个事件上筛选数据源…应用相同的逻辑,因为
Where
属性是字符串
,您可以在代码后面指定Where条件,请检查我的更新响应。我得到了此错误:查询语法无效。在我刚刚测试的标识符'abcd'附近,它正在工作,请记住,您应该为您的字段替换上述代码中的fname
。它应该看起来像It.YourField
btw我需要在xaml中添加什么吗?比如说参数在哪里?我在密码里有这个。this.EntityDataSource1.Where=“类似于“%”的it.Name+tbxSearch.Text+“%”;嗯:(
<asp:EntityDataSource runat="server" ID="eds"
.....
Where="it.fname like '%' + @Name + '%'"
<WhereParameters>
<asp:ControlParameter ControlID="tbxSearch" Name="Name" DefaultValue="" />
</WhereParameters>
this.eds.Where = "it.fname like '%' + @Name + '%'";
<WhereParameters>
<asp:ControlParameter ControlID="tbxSearch" Name="Name" Type="String" DefaultValue="" />
</WhereParameters>
this.eds.Where = "it.fname like '%' + @Name + '%'";