Hinzufügen statischer Elemente und Ergebnisse mit 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. Im Beispiel in diesem Artikel wird ein DropDownList-Steuerelement mit einem ersten Element aufgefüllt.

Originalversion des Produkts:   Visual C #
Ursprüngliche KB-Nummer:   312489

Anforderungen

In der folgenden Liste sind die empfohlenen Hardware und Software aufgeführt, die Sie benötigen:

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

Dieser Artikel bezieht sich auf den folgenden .NET Framework KlassenbibliotheksnamespaceSystem.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. Klicken Sie im Menü Datei auf Neu, und wählen Sie anschließend Projekt.
  3. Wählen Sie im Dialogfeld "Neuer Project" unter Project Typen 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 an Spalten der Authors Tabelle aus der SQL Server Pubs-Datenbank gebundene Daten.

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

    1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, wählen Sie "Hinzufügen" und dann "Webformular hinzufügen" aus.
    2. Nennen 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 Text-Eigenschaft 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 zur 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 Ereignis den Page_Load 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 -->");
        }
    }
    

    Um integrierte Sicherheit in der Verbindungszeichenfolge zu verwenden, ändern Sie die Web.config Datei 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 Zur Entwurfsansicht im Editor für die ASPX-Seite. Doppelklicken Sie auf "GetItem". Fügen Sie dem Ereignis in der GetItem_Click 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 Visual Studio .NET Integrated Development Environment (IDE) 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 das Dropdown-Listenfeld mit den ursprünglichen Daten aufgefüllt wird.

  13. Wählen Sie im Dropdown-Listenfeld ein Element aus. Beachten Sie, dass das CurrentItem-Bezeichnungssteuerelement 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 nach dem Datenbindungscode der ListItem Auflistung des Steuerelements hinzuzufügen. Wenn Sie den Code nicht in dieser Reihenfolge 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 neu 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