ASP.NET ile WebMethod kullanarak Dropdownlist Doldurmak C#

Asp.Net sayfalarınz WebMethod Kullanarak Get ve Post işlemleri yaparak sayfalarınızda hızlı işlemler yapabilir ve json data kullanabilirsiniz.

Merhabalar,

Bugün [WebMethod] ile asp.net sayfalarımız da oluşturup ve daha sonra da bu methodları çağırarak işlemleri daha hızlı yapmaya çalışacağız.  Örnek olarak ilk önce bir asp.net projesi oluşturuyoruz. Sonra da Default.aspx.cs dosyamızı açıyoruz Page_Load üzerine aşağıdaki gibi [WebMethod] yazıyoruz. Eğer daha önceden asp.net ve c# ile SQL veritabanı ile ilgili işlemler yaptıysanız aşağıdaki kodlar size tanıdık gelecektir. Ben size yine de yanlarına açıklamalarını yazacağım.

[WebMethod]
public static List<ListItem> GetPersoneller() // Methodumuzun ismi GetPersoneller List tipinde 
{
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseName"].ToString())) // Database bağlantı connection oluşturduk.
    {
        using(SqlCommand cmd=new SqlCommand("getPersonel", con)) //veritabanın da getpersoneller prosedürüne eriştik.
        {
            List<ListItem> personel = new List<ListItem>(); // personellerimizi bir listitem içerisine eklemek için bir tane personel diye bir nesne oluşturduk.
            cmd.CommandType = CommandType.StoredProcedure; //store procedure olduğunu belirledik.
            cmd.Connection.Open(); // bağlantıyı açtık.
            using(SqlDataReader sdr = cmd.ExecuteReader()) // kayıtları okutup datareader nesnesinin içerisine attık.
            {
                while (sdr.Read())// kayıtları tek tek okumaya başladık.
                {
                    personel.Add(new ListItem
                    {
                        Value = sdr["Personel_Id"].ToString(),
                        Text = sdr["AdiSoyadi"].ToString()
                    });
// personel listItem oluşturmuştuk ve bunun içerisine hangi bilgileri almak istiyorsak bunları personel nesnesinin içerisine ekkliyoruz.
               }
            }
            con.Close(); // bağlantımızı kapatıyoruz.
            return personel;  // personelleri döndürüyoruz.
        }
    }    
 }

Default.aspx sayfasını açıyoruz ve <head> </head> tag ları arasına aşağıdaki kodları yazıyoruz. Burada Dikkat etmemiz gereken en önemli yerler url,contentType ve dataType

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $.ajax({
            type: "POST",
            url: "Default.aspx/GetPersoneller", //İlk önce webmethodu hangi sayfada yazdı isek o sayfanın adı daha sonra da [WebMethod] adını yazıyoruz. Yani Default.aspx ve GetPersoneller
            data: '{}',
            contentType: "application/json; charset=utf-8", // Burada uygulamanın tipi ve karakter tipini belirliyoruz.
            dataType: "json", // Veri tipinin json olacağını yazıyoruz.
            success: function (r) { 
// Aşağıdaki kodlar da ise dropdownlist id sini bir değişkene atıyoruz. Ve içerisini boşaltıp ilk olarak “Seçiniz” yazdıyoruz. Daha sonra da veritabanında [WebMethod] ile çektiğimiz verileri yüklüyoruz.
                var ddlCustomers = $("[id*=drpPersonel]");
                ddlCustomers.empty().append('<option selected="selected" value="0">Seçiniz</option>');
                $.each(r.d, function () {
                    ddlCustomers.append($("<option></option>").val(this['Value']).html(this['Text']));
                });
            }
        });
    });
</script>

Bu makalemiz de anlatacaklarım bu kadar eksik, yanlış gördüğünüz bir yer ya da yapamadığınız bir sorununuz olursa lütfen aşağıdaki yorum bölümünden yorum atınız. En kısa zamanda sizlere geri dönüş yağacağım.