Asp.net LinqDataSource动态参数-使用where参数强制或
在我的“selecting”语句中,我需要在使用时添加两个动态参数: 但是,系统将这些参数添加为Asp.net LinqDataSource动态参数-使用where参数强制或,asp.net,linq,linqdatasource,Asp.net,Linq,Linqdatasource,在我的“selecting”语句中,我需要在使用时添加两个动态参数: 但是,系统将这些参数添加为和,但我想执行或,其中参数1或参数2为真 如何做到这一点?你可以用乔·阿尔巴哈里的。我已经很成功地使用它了。 < P>如果在设计时不知道参数的数量,只能在运行时确定,考虑在运行时更改数据源的哪里:< /代码>属性。您可以自己插入实际值 //e.g. we know that we want 4 params this time. LinqDataSource1.Where = "Alph
和
,但我想执行或
,其中参数1或参数2
为真
如何做到这一点?你可以用乔·阿尔巴哈里的。我已经很成功地使用它了。 < P>如果在设计时不知道参数的数量,只能在运行时确定,考虑在运行时更改数据源的<代码>哪里:< /代码>属性。您可以自己插入实际值
//e.g. we know that we want 4 params this time.
LinqDataSource1.Where =
"Alpha == 1 OR Brave==False OR Charlie> 'Jan 1 1999' or Delta = @DeltaVal";
LinqDataSource1.WhereParameters.Add("DeltaVal", "O'Flanagan");
如果您在运行时知道n个参数,那么您可以在设计时简单地放置OR语句,并修改它们的值
也许可以将您的或
子句放在LinqDataSource声明中
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
Where="Foo == @FooValue OR Bar==@BarValue">
使用这种方法的问题是,我不知道我将在公共控件中使用大约8种不同的“foovalue”或“barvalue”中的哪一种。因此,动态添加whereparameter,而不是预先声明它。我可以看看是否可以添加两个通用值,然后在运行时更改属性的名称…@Carl:update以显示如何在运行时修改where和参数。@Carl:此更新对您有帮助吗?如果您需要更多帮助,请发表评论。请记住,作为StackOverflow社区的一部分,向上投票并“接受答案”!
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
Where="Foo == @FooValue OR Bar==@BarValue">
LinqDataSource1.WhereParameters.Add("FooValue", "milk");
LinqDataSource1.WhereParameters.Add("BarValue", "eggs");