2014-01-16 30 views
0

我有一个ListView我把WhereParametersLinqDataSourceselected="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> 

当我执行这一点,选择的所有医生。它应该只选择DoctorAIsAvailable >= today date。这不起作用,因为我在LinqDatasoure中添加了Where="@IsAvailable = True && @dateApt >= DateTime.Now

我想也把

DefaultValue="DoctorA" 
<asp:ControlParameter 

,但它也没工作。

感谢

+0

你可以发布你的DropDownList选择索引更改方法的代码吗? – jadarnel27

回答

0

看起来你是在你的财产Where定义两个参数,但我觉得你的意思是刚才提到的列。删除列名称上的“@”,它应该可以工作:

Where="IsAvailable = True && dateApt >= DateTime.Now" 
+0

我将其更改为Where =“IsAvailable = True && dateApt> = DateTime.Now”>但它没有改变任何东西。它应该只选择默认的DoctorA,但它会返回所有的Dortor A,B,C – user3127986

+0

@ user3127986为什么不使用WHERE子句中设置的WhereParameter?像这样:'Where =“IsAvailable = True && dateApt> = DateTime.Now && DoctorName = @ doctorName'这就是你想要做的吗? – jadarnel27

+0

我试过但没有工作... Where =”IsAvailable = True && dateApt> = DateTime.Now && DoctorName = DoctorA“我得到这个错误没有属性或字段'DoctorA'类型'Apointement'中存在我想我错过了一些引号,但我可以找到适当的解决方案 – user3127986

0

该解决方案是由jadarnel27提供的工作!

我只是说了的LinqDataSource的where子句中的以下内容:

凡= “IsAvailable =真& & dateEssai> = DateTime.Now & & doctorName = @doctorName”>

谢谢您优秀的解决方