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.SqlClient
baş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:
- Visual Studio .NET'i açın.
- Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'yi seçin.
- 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.
- 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ı olarakhttp://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.
Projeye Web Formu eklemek için şu adımları izleyin:
- Çözüm Gezgini'da proje düğümüne sağ tıklayın, Ekle'yi ve ardından Web Formu Ekle'yi seçin.
- .aspx sayfasını DropDown.aspx adlandırın ve Aç'ı seçin.
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.
DropDownList denetiminden sonra sayfaya bir Etiket denetimi ekleyin. Özellikler bölmesinde denetimin kimliğiniCurrentItem olarak değiştirin.
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.
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.
Ö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;
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.
bağlantı dizesi ortamınıza uygun şekilde değiştirin.
.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); }
Web Formunu ve diğer ilişkili proje dosyalarını kaydetmek için Dosya menüsünde Tümünü Kaydet'i seçin.
Projeyi oluşturmak için Visual Studio .NET Tümleşik Geliştirme Ortamı'ndaki (IDE) Derleme menüsünde Derle'yi seçin.
Çö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.
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ı denetlerIsPostBack
.
Başvurular
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin