
.Net MVC Controller Metotları Nelerdir, Nasıl Kullanılır ?
Merhaba bu yazımda MVC yapısında bulunan, Controller katmanındaki Controller metotlarından bahsedeceğim.
MVC yapısında bir View’ın yani ekrandaki görüntünün ve model katmanına bağlanma işlemlerini Controller içinde bulunan metotlar sayesinde sağlarız. Bu metotları şu şekilde sırayabiliriz:
- ActionResult
- RedirectResult
- JsonResult
- FileResult
- RedirectToRouteResult
- PartialViewResult
- JavascriptResult metotlarından bahsedebiliriz.
Bu metotlar sayesinde istediğimiz şekilde veriyi controller vasıtasıyla model katmanına iletebilir ya da veriyi modelden çekebiliriz.
Şimdi bu metotların kullanım amacını inceleyelim.
ActionResult Metodu:
public ActionResult Index()
{
return View();
}
Yukarıdaki kodun görevi View’ı ekranda göstermektedir. Şimdi bu kodu biraz daha işlevsel hale getirerek POST ve GET işlemi yaptıralım.
[HttpGet]
public ActionResult Index(int id)
{
KategoriDBDataContext vt = new KategoriDBDataContext();
Kategori k=vt.Kategorilers.First(m=>m.kategoriId == id);
return View(k);
}
Bu yazdığım kod, KategoriDB adlı veritabanının, Kategori tablosu içinden,Kullanıcının View’dan yolladığı id değerini, kategoriId değerine eşitleyerek kullanıcının istediği bilgiyi ekrana gönderir. Böylece basit bir get işlemi gerçekleştirir.
RedirectResult Metodu:
RedirectResult metodunun amacı işlemi gerçekleştidikten sonra yönlendirme yapmaktır. Aşağıdaki örnek, Kategori ekledikten sonra site yönlendirmesi yapmaktadır.
public ActionResult KategoriEkle()
{
return View();
}
[HttpPost]
public RedirectResult KategoriEkle(Kategori YeniKategori)
{
KategoriDBDataContext vt = new KategoriDBDataContext();
vt.Kategori.Add(YeniKategori);
vt.SaveChanges();
return Redirect(“https://webmaster.kitchen/”);
}
Json Result Metodu
Verilerin JSON formatında post veya get ettirme yöntemidir. JSON; programlama dilleri arasında, veri alma ve gönderme işlemlerini hızlı ve sade bir biçimde gerçekleştirir.
Şimdi bir örnek üzerinden, bu işlemi açıklayalım
İlk önce view kısmına javascript kodlarını ekleyelim.
<head>
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js”></script>
</head>
<body>
<input type=”button” value=”JSON ile Post” id=”butonJson”/>
<script type=”text/javascript”>
$(document).ready(function () {
$(‘#butonJson’).click(function () {
$.ajax({
type: “POST”,
url: “Home/KategoriListele”,
contentType: “application/json; charset=utf-8”,
dataType: “json”,
success: function (msg) {
alert(msg);
}
})
return false;
});
});
</script>
</body>
Şimdi JsonResult Metodunu yazalım.
[HttpPost]
public JsonResult KategoriListele()
{
KategoriDBDataContext vt = new KategoriDBDataContext();
var kategoriGetir=vt.Kategoris.ToList();
return Json(kategoriGetir);
}
Bu şekilde JSON ile get ve post işlemlerini hem sayda değişmeden hem de daha hızlı bir şekilde gerçekleştirebiliriz.
.Net MVC Controller Metotları Kaynaklar:
http://www.ugurkizmaz.com/