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

In diesem Artikel wird veranschaulicht, wie Sie einem DropDownList-Steuerelement statische und datengebundene Elemente hinzufügen. Im Beispiel in diesem Artikel wird ein DropDownList-Steuerelement mit einem anfänglichen Element aufgefüllt.

Ursprüngliche Produktversion: 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 Klassenbibliothek-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. Klicken Sie im Menü Datei auf Neu, und wählen Sie anschließend Projekt.
  3. Wählen Sie im Dialogfeld Neues Projekt unter Projekttypen die Option Visual C#-Projekte und dann unter VorlagenASP.NET Webanwendung aus.
  4. Ersetzen Sie im Feld SpeicherortwebApplication1 in der Standard-URL durch DDLSample. Wenn Sie den lokalen Server verwenden, können Sie den Servernamen so http://localhost belassen, dass im 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 datengebunden an Spalten der Authors Tabelle aus der SQL Server Pubs-Datenbank.

  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. 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 Bereich Eigenschaften die ID des Steuerelements in AuthorList.

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

  4. Fügen Sie der Seite nach dem Label-Steuerelement ein Button-Steuerelement hinzu. Ändern Sie im Bereich Eigenschaften 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 der CodeBehind-Klassendatei hinzu, damit der Beispielcode ordnungsgemäß funktioniert. Die vollständige Liste der Namespaces sollte wie folgt aussehen.

    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 Sie zur Entwurfsansicht im Editor für die Seite .aspx. 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 integrierten Entwicklungsumgebung (IDE) von Visual Studio .NET die Option Erstellen aus, um das Projekt zu erstellen.

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

  13. Wählen Sie im Dropdownlistenfeld ein Element aus. Beachten Sie, dass das Steuerelement CurrentItem Label 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 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 zwischen Roundtrips zum Server an der aktuellen Position der Liste beibehalten wird.

References