İlk olarak Ajax nedir kısaca bundan bahsedeyim ve hali hazırda geliştirmekte olduğum projede Ajax kullanımına neden ihtiyaç duydum bundan bahsedeyim. Ajax, Javascript ile internet sayfalarında sayfaları yeniden yüklemeye gerek kalmadan ve yeni sayfalara yönlenmeden sayfa içeriğinin değişmesini sağlayan metodun adıdır. Ekranda bulunan bir değeri sayfayı yeniden yüklemeyerek veritabanından ya da herhangi bir yerden sorgu sonucu ile değiştirmenize olanak sağlar. Şimdi MVC Ajax Kullanımı neden vardır ve nasıl yapılır bir bakalım.
Onat Göksel( @onat35 ) ile geliştirmekte olduğumuz MVC projesi içerisinde güzel bir DropdownList kullanıyoruz. Bu dropdownlistin nasıl kullanılacağını da Aranabilir Dropdownlist MVC Kullanımı başlıklı yazıda anlatmıştım. Herhangi bir elemanı seçtiğim zaman bu elemanın comboboxta yazmayan bir değerini sayfanın bir yerinde yazdırmak istiyorum. Comboboxtaki veriler bir sınıfın ad özelliğini bize gösteriyorken ben bu sınıfın ağırlık özelliğini görmek istiyorum. Bunu yapabilmek için Ajax sorgusu atmak zorunda kaldım. Bu sorguyu da comboboxın onchange metoduna koydum.
İlk olarak Ajax sorgusuna cevap verecek fonksiyonu oluşturalım. Bu fonksiyon bize bir JSON dosyası döndürecektir. İçerisine aldığı parametreye bağlı olarak veritabanından bir kaydı alacak ve kaydın istediğim özelliğini yani ağırlık özelliğini bana döndürecektir. Örnek olması açısından kodu paylaşıyorum:
[HttpPost()]
public ActionResult GetDokumAgirlikByID(string modelID)
{
return Json(DokumIslemleri.GetDokumById(Convert.ToInt32(modelID)).agirlik, JsonRequestBehavior.AllowGet);
}
MVC Ajax Kullanımı için bir de bu fonksiyona istek atacak Javascript fonksiyonunu yazalım.
<script>
function dokumChange() {
$.post("@Url.Action("GetDokumAgirlikByID", "Dokum")", { modelID: document.getElementById("DokumDropDown").options[document.getElementById("DokumDropDown").selectedIndex].value }, function (gelenveri) {
document.getElementById("lblAgirlik").innerHTML =(gelenveri);
});}
</script>
Veritabanından bilgiyi döndürecek olan fonksiyonu Dokum controllerı içerisine yazdım ve fonksiyonun adı GetDokumAgirlikByID içerisine parametre olarak DokumDropDown içerisinde seçili dökümün IDsini veriyorum ve istek sonucu gelen veriyi de lblAgirlik içerisine yazdırıyorum.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.
2022 yılı içerisinde Apple yenilenen iPad modellerini karşımıza çıkarttı. Ancak hepimizin beklediği iPad modeli 2022… Daha fazla oku
Günümüz şartlarında neredeyse her Apple ürünü iCloud Etkinleştirme kilidi özelliğine sahiptir. Bu kilit bir çok… Daha fazla oku
Apple sattığı cihazlardan para kazandığı kadar servisleri ile de para kazanan bir firma olmuştur. Son… Daha fazla oku
Elmadan haberler 3 içerisindeki gündem şu şekildedir: Apple TV Android Akıllı Cep Telefonu ve Tabletlere… Daha fazla oku
iPhone Güncelleme sonrası pil sağlığı neden düşer son derece fazla aldığım diğer bir sorudur. Bu… Daha fazla oku
Bilinçli iPhone Kullanıcısı video serisi kapsamında iPhone iOS 16.2 ipuçları bu yazıda ele alacağım bir… Daha fazla oku
Bu web site kullanıcı deneyimini arttırmak amacı ile çerezleri kullanmaktadır