2010-01-27 3 views
1

Я пытаюсь отфильтровать список, используя элемент управления текстовым полем через объект-источник данных. Однако, когда я добавляю что-либо, ничего не происходит. Я создал нечто подобное раньше, и все коды почти одинаковы. у кого есть какие-то идеи, «что мне не хватает?»Объект данных Источник не фильтрует мой список?

<asp:TextBox ID="namefilter" runat="server" /> 
    <asp:Button ID="button1" runat="server" /> 

    <asp:ListView DataSourceID="DataSource" ID="ListView1" runat="server" DataKeyNames="ID" InsertItemPosition="LastItem"> 
    <LayoutTemplate> 

     <table cellspacing="1" cellpadding="1" border="0" bgcolor="#6699cc" width="100%" > 
     <tr> 
      <th>&nbsp;</th> 
      <th>&nbsp;</th> 
      <th><span class="Caption1">Name</span></th> 
      <th><span class="Caption1">Phone</span></th> 
     </tr> 

     <tr id="itemPlaceholder" runat="server" /> 
     </table> 

    </LayoutTemplate> 

    <ItemTemplate> 
     <tr style="background-color: White;" > 
      <td><asp:LinkButton ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" /></td> 
      <td><asp:LinkButton ID="btnDelete" runat="server" Text="Delete" CommandName="Delete" /></td> 
      <td align="center"><%# DataBinder.Eval(Container, "DataItem.Name")%>   </td> 
      <td align="center"><%# DataBinder.Eval(Container, "DataItem.Phone")%>   </td> 
     </tr>                    
    </ItemTemplate> 

    <EditItemTemplate> 
     <tr style="background-color: White;" > 
      <td><asp:LinkButton ID="btnSave" runat="server" Text="Save" CommandName="Update" /></td> 
      <td><asp:LinkButton ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" /></td> 
      <td><asp:TextBox ID="EditName" runat="server" Text='<%# Bind("Name") %>' /></td> 
      <td><asp:TextBox ID="EditPhone" runat="server" Text='<%# Bind("Phone") %>' /></td> 
     </tr>              
    </EditItemTemplate> 
    <InsertItemTemplate> 
     <tr bgcolor="#6699cc" > 
      <td><asp:LinkButton ID="InsertButton" CommandName="Insert" runat="server" Text="Insert" ValidationGroup="add" CssClass="Caption1" /> </td> 
      <td><asp:LinkButton ID="CancelButton" CommandName="Cancel" runat="server" Text="Cancel" CausesValidation="false" CssClass="Caption1" /></td> 
      <td> <asp:TextBox ID="InsertName" runat="server" Text='<%# Bind("Name") %>' ValidationGroup="insert" /> </td> 
      <td><asp:TextBox ID="InsertPhone" runat="server" Text='<%# Bind("Phone") %>' /> </td> 
    </InsertItemTemplate> 

</asp:ListView> 


<asp:LinqDataSource 
     ContextTypeName="assembly" 
     EnableUpdate="true" 
     EnableDelete="true" 
     EnableInsert="true" 
     ID="DataSource" 
     OrderBy="Email desc" 
     runat="server" 
     TableName="Contacts" 
     AutoSort="true" 
     > 
<whereParameters> 
    <asp:ControlParameter ControlID="emailfilter" Name="Email" PropertyName="Text" Type="String" ConvertEmptyStringToNull="false" /> 
</whereParameters> 
</asp:LinqDataSource> 

ответ

1

d oh, забыли добавить сортировку, где пункт в linqdatasource .. 3 часа впустую !!!

<asp:LinqDataSource 
     ContextTypeName="Immediacy.VS.Plugins.DBML.VisitScotlandDataContext" 
     EnableUpdate="true" 
     EnableDelete="true" 
     EnableInsert="true" 
     ID="DataSource" 
     OrderBy="Email desc" 
     runat="server" 
     TableName="Contacts" 
     AutoSort="true" 
     Where='(@Email == null) || (Email == @Email)' 
     > 
+0

рад, что мы могли бы помочь :) –

Смежные вопросы