Veri bağlamadan DropDownList denetimine Visual C# kullanarak statik öğeler ve sonuçlar ekleme

Bu makalede, DropDownList denetimine statik öğelerin ve verilere bağlı öğelerin nasıl ekleneceği gösterilmektedir. Bu makaledeki örnek bir DropDownList denetimini ilk öğeyle doldurur.

Orijinal ürün sürümü: Visual C#
Özgün KB numarası: 312489

Gereksinimler

Aşağıdaki listede ihtiyacınız olan önerilen donanım ve yazılımlar özetlenmiştir:

  • Microsoft Windows
  • .NET Framework
  • Visual Studio .NET
  • Internet Information Services (IIS)
  • SQL Server

Bu makale, aşağıdaki .NET Framework Sınıf Kitaplığı ad alanına System.Data.SqlClientbaşvurur.

ASP.NET web uygulaması oluşturmak için Visual C# kullanma

DDLSample adlı yeni bir ASP.NET web uygulaması oluşturmak için şu adımları izleyin:

  1. Visual Studio .NET'i açın.
  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'yi seçin.
  3. Yeni Proje iletişim kutusunda, Proje Türleri'nin altında Visual C# Projeleri'ni seçin ve ardından Şablonlar'ın altında Web Uygulaması'nı ASP.NET seçin.
  4. Konum kutusunda, varsayılan URL'deki WebApplication1 değerini DDLSample ile değiştirin. Yerel sunucuyu kullanıyorsanız, Konum kutusunun görüntülediği http://localhost/DDLSampleşekilde sunucu adını olarak http://localhost bırakabilirsiniz.

Örneği oluşturma

Aşağıdaki adımlarda DropDownList denetimi içeren bir .aspx sayfası oluşturursunuz. DropDownList denetimi, SQL Server Pubs veritabanından Authors tablonun sütunlarına bağlı verilerdir.

  1. Projeye Web Formu eklemek için şu adımları izleyin:

    1. Çözüm Gezgini'da proje düğümüne sağ tıklayın, Ekle'yi ve ardından Web Formu Ekle'yi seçin.
    2. .aspx sayfasını DropDown.aspx adlandırın ve Aç'ı seçin.
  2. Sayfanın düzenleyicideki Tasarım görünümünde açık olduğundan emin olun. Sayfaya bir DropDownList denetimi ekleyin. Özellikler bölmesinde denetimin kimliğiniAuthorList olarak değiştirin.

  3. DropDownList denetiminden sonra sayfaya bir Etiket denetimi ekleyin. Özellikler bölmesinde denetimin kimliğiniCurrentItem olarak değiştirin.

  4. Etiket denetiminden sonra sayfaya Düğme denetimi ekleyin. Özellikler bölmesinde, denetimin kimliğiniGetItem olarak değiştirin ve sonra Text özelliğini Get Item olarak değiştirin.

  5. Sayfaya sağ tıklayın ve ardından Kodu Görüntüle'yi seçin. Bu, düzenleyicide arka planda kod sınıfı dosyasını açar.

  6. Örnek kodun System.Data.SqlClient düzgün çalışabilmesi için ad alanını arka planda kod sınıfı dosyasına ekleyin. Ad alanlarının tam listesi aşağıdaki gibi görünmelidir.

    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. Olaya aşağıdaki kodu Page_Load ekleyin.

    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 -->");
        }
    }
    

    Bağlantı dizesinde Tümleşik Güvenlik'i kullanmak için uygulamanın Web.config dosyasını değiştirin ve yapılandırma öğesinin identity özniteliğini aşağıdaki örnekte gösterildiği gibi true olarak ayarlayınimpersonate.

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

    Daha fazla bilgi için bkz . ASP.NET Kimliğe Bürünme.

  8. bağlantı dizesi ortamınıza uygun şekilde değiştirin.

  9. .aspx sayfasının düzenleyicisinde Tasarım görünümüne geçin. GetItem öğesine çift tıklayın. Aşağıdaki kodu arka planda kod GetItem_Click sınıf dosyasındaki olaya ekleyin.

    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. Web Formunu ve diğer ilişkili proje dosyalarını kaydetmek için Dosya menüsünde Tümünü Kaydet'i seçin.

  11. Projeyi oluşturmak için Visual Studio .NET Tümleşik Geliştirme Ortamı'ndaki (IDE) Derleme menüsünde Derle'yi seçin.

  12. Çözüm Gezgini'da, .aspx sayfasına sağ tıklayın ve tarayıcıda görüntüle'yi seçin. Sayfanın tarayıcıda açıldığına ve açılan liste kutusunun ilk verilerle doldurulduğunu fark edin.

  13. Açılan liste kutusundan bir öğe seçin. CurrentItem Etiketi denetiminin seçtiğiniz öğeyi görüntülediğine dikkat edin. Ayrıca, listenin geçerli konumu ve statik girişi koruduğuna dikkat edin.

Sorun giderme

  • Statik öğeyi veri bağlama kodundan sonra denetimin ListItem koleksiyonuna eklemek için kodu yerleştirmeniz gerekir. Kodu bu sırada eklemezseniz, liste statik girişin üzerine yazan veri bağlama koduyla yeniden oluşturulur.
  • Örnek kod, listenin IsPostBack yeniden oluşturulmasını önlemek için özelliğini denetler. Ayrıca, bu kod seçilen öğeyi sunucuya gidiş dönüşler arasında listenin geçerli konumunda tutmayı denetler IsPostBack .

Başvurular