mehmetduran.com - Paylaşmak Güzeldir...
jQuery Ajax ile UserControl'leri Etkin Kullanma
Bu yazımda jQuery Ajax uygulamalarında UserControl'leri etkin olarak nasıl kullanabileceğimizden bahsedeceğim. Son dönemde yaptığım birçok işte bu yöntemi kullanıyorum ve oldukça kullanışlı, efektif uygulamalar ortaya çıkmakta. Daha önce burada, burada ve birkaç yazımda jQuery Ajax uygulamalarında UserControl'leri nasıl kullanabileceğimizden bahsetmiştim. Bu yöntemleri geliştirerek daha doğrusu UserControl'ü render eden metodu geliştirerek bu kullanma yöntemini daha etkin hale getirdim. Öyleki UserControl'e rahatlıkla çeşitli parametreler aktarabiliyoruz. Bu şekilde çok dinamik, efektif alanlar oluşturabiliriz. Şimdi nasıl yapacağımıza göz atalım.

Öncelikle yazacağımız kodlara göz atalım. Bu kodlar hazırladığım ve yazının devamında linkini bulacağınız örneğin kodlarıdır. Yani çalışır halini de görebilirsiniz.

// UserControlü Render Eden Metodumuz
public static string user_kontrol_oku(string adres, Dictionary<string, string> Ozellikler)
{
  Page page = new Page();
  UserControl ctl = (UserControl)page.LoadControl(adres);
  foreach (KeyValuePair<string, string> ozellik in Ozellikler)
  {
    ctl.Attributes.Add(ozellik.Key, ozellik.Value);
  }
  page.Controls.Add(ctl);
  StringWriter writer = new StringWriter();
  HttpContext.Current.Server.Execute(page, writer, false);
  return writer.ToString();
}
 
// Değerleri Kullanıcıdan Alan ve Render edilen UserControl'ü 
// jQuery Ajax ile Kullanıcıya Aktaracak Webmethod
[System.Web.Services.WebMethod]
public static string Oku(int Sayfa, int Adet)
{
  Dictionary<string, string> veriler = new Dictionary<string, string>();
  veriler.Add("Sayfa", Sayfa.ToString());
  veriler.Add("Adet", Adet.ToString());
  return user_kontrol_oku("~/UserControl1.ascx", veriler);
}
 
// UserControl
public partial class UserControl1 : System.Web.UI.UserControl
{
  protected void Page_Load(object sender, EventArgs e)
  {
    int Sayfa = int.Parse(Attributes["Sayfa"]);
    int SayfalamaAdeti = int.Parse(Attributes["Adet"]);
    /* Değerlere göre işlem yapılıyor ...*/
  }
}

Görüldüğü gibi kodlarımız böyle. Peki bu kodlar tam olarak ne yapıyor derseniz buradan görebilirsiniz. Örnekte sayfalama var ve sayfalama adeti kullanıcı tarafından belirleniyor. Bu değerleri ise kullandığımız metot ile UserControl'e aktarıyoruz (Attribute özelliği ile) ve dinamik bir uygulama geliştirmiş oluyoruz. Buna benzer olarak birçok alanda bu yöntemi kullanabiliriz. Örneğin filtreleme (arama) işlemlerinde, otomatik tamamlama, dinamik uygulamalarda bu yöntemi kullanarak çok daha efektif alanlar oluşturabiliriz.

İyi Çalışmalar.
Mehmet Duran 02 Şubat Salı 2010 4 599 5,0
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Jquery ve Ajax ile Edit Update İşlemleri Veritabanı İlişkisi ile Accordion Menü Oluşturma jQuery ile Dinamik Alanlar Oluşturma (Scroll Olmadan ve Yatay) Jquery ile Haber Manşet Alan Yapımı (Manşet Uygulamam) Jquery ile Tab Kontrol Uygulaması
Yorumlar
Yorum Yaz
RSS Yorum Takibi
İbrahim KARA 03 Şubat Çarşamba 2010 12:05 #1
Kardeşim paylaşımın için teşekkürler buna benzer bir paylaşımda bulunmuştun facebox uygulaması olarak orda render ettiğin usercontrol facebox içinde açılıyodu.Sorum şu açılan o faceboxta tekrar bir html click olayı ile aynı şekilde başka bir usercontrolü faceboxa çağırıyorum ama altta olan facebox kapanıyor ikisininde aynı anda açık olması için ne yapabilirim. Teşekkürler şimdiden kardeşim.
Mehmet Duran 03 Şubat Çarşamba 2010 13:31 #2
Facebox uygulamasını geliştirenler bu şekilde geliştirmiş. Böyle olması da gayet mantıklı. Bu tarzda çalışan uygulamalarda aynı anda tek bir ekran oluşur. Burada ikinci işlemde yeni bir facebox açmak yerine açık facebox'ı kullanmak daha mantıklı olabilir.
Serkan 23 Şubat Salı 2010 13:47 #3
Yaw bir de örnek kodları koysaymışın süper olcekmiş. Yine de Ellerine sağlık. Teşekkür ederiz makalen için.
Mehmet Duran 23 Şubat Salı 2010 20:41 #4
Yazımda örnek kodlar var zaten. Bu kodları kullanarak ihtiyaca göre istediğin işlemi gerçekleştirecek bölümleri oluşturabilirsin. Eğer takıldığın yer olursa yardımcı olmaya çalışırım. Kolay gelsin.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Büyük işler gibi, büyük düşüncelerinde davula ihtiyaçları yoktur.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009