SO WIRD'S GEMACHT: Filtern von Daten in einer Webseite mithilfe deklarativer Syntax

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

QueryExtender-Steuerelement können Sie um Filter für Daten zu erstellen, die aus einer Datenquelle abgerufen werden, ohne explizite Abfragen in der Datenquelle zu erstellen. Sie können das Steuerelement QueryExtender im Markup einer Webseite zum Filtern von Daten mit nur deklarativer Syntax verwenden. Im QueryExtender-Steuerelement zum Filtern von Daten verwenden Sie eine oder mehrere der folgenden Ausdruck:

Diese Ausdruckstypen und zusätzlichen Filterausdrücke sind in ASP.NET Dynamic Data-Anwendungen unterstützt. Weitere Informationen finden Sie unter Übersicht über das QueryExtender-Webserversteuerelement.

Um Daten in eine Webseite mit deklarativen Syntax Filtern

  1. Visual Studio oder Visual Web Developer erstellen Sie eine Website oder Webanwendung.

  2. Hinzufügen oder Verbindung zu einer Datenbank herstellen.

  3. Erstellen eines Datenmodells für die Website oder Anwendung.

    Hinweis

    Das QueryExtender-Steuerelement unterstützt die LINQ to SQL und Entity Framework Datenquellen.

  4. Die Webseite ein Datenquellen-Steuerelement hinzu, und Konfigurieren der Datenquelle arbeiten Sie mit der Datenbanktabelle verwendet werden soll.

    Im folgende Beispiel wird das Markup für ein LinqDataSource -Steuerelement, der Products-Tabelle in der Datenbank AdventureWorks, die mithilfe eines Datenkontexts mit dem Namen AdventureWorksDataContext arbeiten konfiguriert ist, veranschaulicht.

    <asp:LinqDataSource ID="LinqDataSource1"  
        ContextTypeName="AdventureWorksDataContext"  
        TableName="Products" runat="server"> 
    </asp:LinqDataSource>
    
  5. Fügen Sie ein QueryExtender -Steuerelement zur Seite hinzu und verbinden Sie es mit der Datenquelle durch Festlegen der TargetControlID-Eigenschaft auf die ID des Datenquellen-Steuerelements.

    Das folgende Beispiel zeigt das Markup für ein Abfrage-Extender-Steuerelement, das an das LinqDataSource1-Datenquellen-Steuerelement gebunden ist.

    <asp:QueryExtender runat="server" 
         TargetControlID="LinqDataSource1">
    </asp:QueryExtender>
    
  6. Fügen Sie einen Filter auf das Steuerelement QueryExtender.

    Im folgenden Beispiel wird das zeigt ein SearchExpression-Element (Filter), das im Abfrage-Extender-Steuerelement hinzugefügt wurde. Das-Element definiert einen Filter für die Spalte Name. Der Name zu suchenden wird zur Laufzeit bereitgestellt werden.

    <asp:QueryExtender runat="server" TargetControlID="LinqDataSource1">
        <asp:SearchExpression SearchType="Contains" DataFields="Name" >    </asp:SearchExpression>
    </asp:QueryExtender>
    
  7. Fügen Sie ein ASP.NET-Steuerelement an, die den Wert für den Query-Parameter bereitzustellen, und verbinden Sie dieses Steuerelement mit dem Filter, der Parameter verwendet wird, indem die Eigenschaft ControlIDControlParameter-Steuerelements.

    The following example shows the markup for a search expression that uses the SearchTextBoxTextBox control to accept user input as a parameter.

    Search: <asp:TextBox ID="SearchTextBox" runat="server" />
    
    <asp:QueryExtender runat="server" TargetControlID="LinqDataSource1">
        <asp:SearchExpression SearchType="Contains" DataFields="Name" >       <asp:ControlParameter ControlID="SearchTextBox" />
    </asp:SearchExpression>
    </asp:QueryExtender>
    
  8. Fügen Sie ein Daten-Steuerelement, die die gefilterten Daten auf der Seite anzeigen und verbinden das Steuerelement mit der Datenquelle. Beispielsweise können Sie ein GridView Steuerelement zum die gefilterten Daten anzeigen, die aus der Datenquelle zurückgegeben werden, hinzufügen.

    Im folgende Beispiel wird das Markup für ein GridView Steuerelement, das die Daten anzuzeigen, die von dem Datenquellen-Steuerelement zurückgegeben wird, veranschaulicht. GridView -Steuerelement erhält seine Daten von der LinqDataSource1-Steuerelement, das das Steuerelement ist, das den Filter verwendet, den Sie definiert haben.

    <asp:GridView ID="GridView1" runat="server"  
         DataSourceID="LinqDataSource1" AllowPaging="True">
    </asp:GridView>
    

Beispiel

Im folgende Beispiel wird das vollständige Markup, das beschrieben wird in diesem Thema veranschaulicht. Die SearchExpression verwendet, um die Spalte Name der AdventureWorks-Beispieldatenbank zu suchen. Der Filter sucht nach Produkt-Namen, die mit der Zeichenfolge beginnen, der im SearchTextBox Steuerelement eingegeben wird.

<body>
    <form id="form1" runat="server">
    Search:<asp:TextBox ID="SearchTextBox" runat="server" />
    <p>
    <asp:Button ID="Button1" runat="server" Text="Search" />
    </p>
    <asp:LinqDataSource ID="LinqDataSource1"  
        ContextTypeName="FilterDemo.AdventureWorksDataContext"  
        TableName="Products" runat="server"> 
    </asp:LinqDataSource>
    <asp:QueryExtender runat="server"   
            TargetControlID="LinqDataSource1">
    <asp:SearchExpression SearchType="StartsWith" DataFields="Name" >
    <asp:ControlParameter ControlID="SearchTextBox" />
    </asp:SearchExpression>
</asp:QueryExtender>
    <asp:GridView ID="GridView1" runat="server"  
          DataSourceID="LinqDataSource1" AllowPaging="True">
     </asp:GridView>
</form>
</body>

Kompilieren des Codes

Um den Code im Beispiel zu kompilieren, müssen Sie die folgenden:

Siehe auch

Aufgaben

SO WIRD'S GEMACHT: Erstellen Sie benutzerdefinierte Abfragen auf einer Webseite mithilfe der QueryExtender-Webserversteuerelements

Referenz

CustomExpression

QueryExtender

Konzepte

Übersicht über das QueryExtender-Webserversteuerelement