我有一个 ListView ,我放在WhereParameters
的{{1}}中,但LinqDataSource
没有从摘录中反映出来。
以下是代码:
selected="True"
当我执行此操作时,它选择了所有医生。它应该只选择 <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="AptDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True" EntityTypeName=""
TableName="Apointement"
Where="@IsAvailable = True && @dateApt >= DateTime.Now">
<WhereParameters>
<asp:ControlParameter
Name="doctorName"
ControlID="DropDownList1"
PropertyName="SelectedValue"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<div class="center">
<asp:Label ID="lblChoseDoctor" runat="server" Text="Choose a Doctor Name"> </asp:Label>
<div class="value-right">
<asp:DropDownList ID="DropDownList1" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" >
<asp:ListItem selected="True" Text="DoctorA" Value="DoctorA" /> <=== should select
<asp:ListItem Text="DoctorB" Value="DoctorB" /> doctor A
<asp:ListItem Text="DoctorC" Value="DoctorC" />
</asp:DropDownList>
</div>
</div>
和DoctorA
。由于我在LinqDatasoure中添加了IsAvailable >= today date
,因此无效。
我也试过把
Where="@IsAvailable = True && @dateApt >= DateTime.Now
但它也不起作用。
由于
答案 0 :(得分:0)
看起来您在Where
属性中定义了两个参数,但我认为您的意思是仅引用列。删除列名称上的“@”,它应该起作用:
Where="IsAvailable = True && dateApt >= DateTime.Now"
答案 1 :(得分:0)
解决方案由jadarnel27工作!!!
我刚刚在LinqDatasource的where子句中添加了以下内容:
其中=“IsAvailable = True&amp;&amp; dateEssai&gt; = DateTime.Now&amp;&amp; doctorName = @doctorName”&gt;
感谢您出色的解决方案。