Hinzufügen statischer Elemente und Ergebnisse mithilfe von Visual C# aus der Datenbindung zu einem DropDownList-Steuerelement

In diesem Artikel wird veranschaulicht, wie statische Elemente und datengebundene Elemente zu einem DropDownList-Steuerelement hinzugefügt werden. Das Beispiel in diesem Artikel füllt ein DropDownList-Steuerelement mit einem anfänglichen Element auf.

Originalproduktversion: Visual C#
Ursprüngliche KB-Nummer: 312489

Anforderungen

Die folgende Liste enthält die empfohlene Hardware und Software, die Sie benötigen:

  • Microsoft Windows
  • .NET Framework
  • Visual Studio .NET
  • Internetinformationsdienste (IIS)
  • SQL Server

Dieser Artikel bezieht sich auf den folgenden .NET Framework Class Library-Namespace System.Data.SqlClient.

Verwenden von Visual C# zum Erstellen einer ASP.NET Webanwendung

Führen Sie die folgenden Schritte aus, um eine neue ASP.NET Webanwendung mit dem Namen DDLSample zu erstellen:

  1. Öffnen Sie Visual Studio .NET.
  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
  3. Wählen Sie im Dialogfeld "Neues Projekt" unter "Projekttypen" die Option "Visual C#-Projekte" und dann unter "Vorlagen" ASP.NET Webanwendung aus.
  4. Ersetzen Sie im Feld "Speicherort" "WebApplication1" in der Standard-URL durch "DDLSample". Wenn Sie den lokalen Server verwenden, können Sie den Servernamen http://localhost so belassen, dass das Feld "Speicherort " angezeigt wird http://localhost/DDLSample.

Erstellen des Beispiels

In den folgenden Schritten erstellen Sie eine .aspx Seite, die ein DropDownList-Steuerelement enthält. Das DropDownList-Steuerelement ist Daten, die an Spalten der Authors Tabelle aus der SQL Server Pubs-Datenbank gebunden sind.

  1. Führen Sie die folgenden Schritte aus, um dem Projekt ein Webformular hinzuzufügen:

    1. Klicken Sie mit der rechten Maustaste in Projektmappen-Explorer auf den Projektknoten, wählen Sie "Hinzufügen" und dann "Webformular hinzufügen" aus.
    2. Benennen Sie die .aspx Seite DropDown.aspx, und wählen Sie dann "Öffnen" aus.
  2. Stellen Sie sicher, dass die Seite in der Entwurfsansicht im Editor geöffnet ist. Fügen Sie der Seite ein DropDownList-Steuerelement hinzu. Ändern Sie im Eigenschaftenbereich die ID des Steuerelements in "AuthorList".

  3. Fügen Sie der Seite nach dem DropDownList-Steuerelement ein Bezeichnungssteuerelement hinzu. Ändern Sie im Eigenschaftenbereich die ID des Steuerelements in CurrentItem.

  4. Fügen Sie der Seite nach dem Bezeichnungssteuerelement ein Schaltflächen-Steuerelement hinzu. Ändern Sie im Eigenschaftenbereich die ID des Steuerelements in "GetItem", und ändern Sie dann die Texteigenschaft in "Element abrufen".

  5. Klicken Sie mit der rechten Maustaste auf die Seite, und wählen Sie dann "Code anzeigen" aus. Dadurch wird die CodeBehind-Klassendatei im Editor geöffnet.

  6. Fügen Sie den System.Data.SqlClient Namespace der CodeBehind-Klassendatei hinzu, damit der Beispielcode ordnungsgemäß funktioniert. Die vollständige Liste der Namespaces sollte wie folgt angezeigt werden.

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    
  7. Fügen Sie dem Page_Load-Ereignis folgenden Code hinzu.

    private void Page_Load (object sender, System.EventArgs e)
    {
        if (!IsPostBack)
        {
            SqlConnection myConn = new SqlConnection (
                "Server=localhost;Database=Pubs;Integrated Security=SSPI");
            SqlCommand myCmd = new SqlCommand (
                "SELECT au_id, au_lname FROM Authors", myConn);
            myConn.Open ();
            SqlDataReader myReader = myCmd.ExecuteReader ();
    
            //Set up the data binding.
            AuthorList.DataSource = myReader;
            AuthorList.DataTextField = "au_lname";
            AuthorList.DataValueField = "au_id";
            AuthorList.DataBind ();
    
            //Close the connection.
            myConn.Close ();
            myReader.Close ();
    
            //Add the item at the first position.
            AuthorList.Items.Insert (0, "<-- Select -->");
        }
    }
    

    Wenn Sie die integrierte Sicherheit in der Verbindungszeichenfolge verwenden möchten, ändern Sie die Datei "Web.config " für die Anwendung, und legen Sie das impersonate Attribut des identity Konfigurationselements auf "true" fest, wie im folgenden Beispiel gezeigt.

    <configuration>
        <system.web>
            <identity impersonate="true" />
        </system.web>
    </configuration>
    

    Weitere Informationen finden Sie unter ASP.NET Identitätswechsel.

  8. Ändern Sie die Verbindungszeichenfolge entsprechend Ihrer Umgebung.

  9. Wechseln Sie zur Entwurfsansicht im Editor für die .aspx-Seite. Doppelklicken Sie auf "GetItem". Fügen Sie dem GetItem_Click Ereignis in der CodeBehind-Klassendatei den folgenden Code hinzu.

    private void GetItem_Click (object sender, System.EventArgs e)
    {
        string itemText = AuthorList.SelectedItem.Text;
        string itemValue = AuthorList.SelectedItem.Value;
        CurrentItem.Text = string.Format (
            "Selected Text is {0}, and Value is {1}", itemText, itemValue);
    }
    
  10. Wählen Sie im Menü "Datei " die Option "Alle speichern" aus, um das Webformular und andere zugeordnete Projektdateien zu speichern.

  11. Wählen Sie im Menü "Erstellen" in der Integrierten Entwicklungsumgebung (IDE) von Visual Studio die Option "Erstellen" aus, um das Projekt zu erstellen.

  12. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf die .aspx Seite, und wählen Sie dann "Im Browser anzeigen" aus. Beachten Sie, dass die Seite im Browser geöffnet wird und dass das Dropdown-Listenfeld mit den anfänglichen Daten aufgefüllt wird.

  13. Wählen Sie ein Element im Dropdown-Listenfeld aus. Beachten Sie, dass das CurrentItem Label-Steuerelement das ausgewählte Element anzeigt. Beachten Sie außerdem, dass die Liste die aktuelle Position und den statischen Eintrag beibehält.

Problembehandlung

  • Sie müssen den Code platzieren, um das statische Element der ListItem Auflistung des Steuerelements nach dem Datenbindungscode hinzuzufügen. Wenn Sie den Code in dieser Reihenfolge nicht hinzufügen, wird die Liste mit dem Datenbindungscode neu erstellt, der den statischen Eintrag überschreibt.
  • Der Beispielcode überprüft die IsPostBack Eigenschaft, um zu verhindern, dass die Liste erneut erstellt wird. Darüber hinaus überprüft IsPostBack dieser Code, ob das ausgewählte Element an der aktuellen Position der Liste zwischen Roundtrips zum Server beibehalten wird.

References