13 Ekim 2016 Perşembe

MVC-5 Action'dan Farklı İsimde View Çağırma




KURAL : Bir view'ın çalıştırılabilmesi (View'a tarayıcı üzerinden erişilebilmesi ) için View'ın, Controller içersinde Action'nın tanımlanması gerekmektedir. Bu tanımla yapılmadı ise, oluşturacağınız view'ı çalıştıramazsınız.



KURAL : Tarayıcı üzerinden bir link çalıştırıldığında, linki ControllerAdı/ActionAdı  şeklinde yazmanız gerekmektedir. Sunucuya gelen istekler öncelikle Controller'a ulaşacağı için, istemci tarafından (client-tarayıcıdan gelen) isteklerin hangi Controller'a (ControllerAdı) ve Controller içindeki hangi Action metoduna (ActionAdı) gideceği bilgisi, linkten alınmaktadır. Bu sebeple oluşturulan bir view'ı birdan fazla  Action metoduna tanımlayıp taracı üzerinden çalıştırabiliriz.

public class ContentController : Controller
    {
        
        public ActionResult Listele()
        {
            return View(ContentData.Contents);
        }


        public ActionResult Ekle()
        {
            
            return View();
        }

        [HttpPost] //Attribute
        public ActionResult  Ekle(Content NewContent)
        {

            if (ModelState.IsValid)
            {
                ContentData.Contents.Add(NewContent);
                return RedirectToAction("Listele");
            }
            else
            {
                return View();
            }
        }

        public ActionResult Duzenle(int ID)
        {
            var content = ContentData.Contents.Where(o => o.ID == ID).FirstOrDefault();

            return View(content);
        }
        [HttpPost]
        public ActionResult Duzenle(Content content)
        {
            Content EditContent = ContentData.Contents.Where(o => o.ID == content.ID).FirstOrDefault();

            EditContent.CName = content.CName;
            EditContent.CSummary = content.CSummary;
            EditContent.CInfo = content.CInfo;
            EditContent.CDate = content.CDate;
            EditContent.CNumber = content.CNumber;

            return RedirectToAction("Listele");
        }

        public ActionResult Sil(int ID)
        {
            var content = ContentData.Contents.Where(o => o.ID == ID).FirstOrDefault();
            return View(content);
        }

        [HttpPost]
        public ActionResult Sil(Content content)
        {
            Content DeleteContent = ContentData.Contents.Where(o => o.ID == content.ID).FirstOrDefault();
            ContentData.Contents.Remove(DeleteContent);
            return RedirectToAction("Listele");
        }

        public ActionResult Detay(int ID)
        {
            var content = ContentData.Contents.Where(o => o.ID == ID).FirstOrDefault();
            return View(content);
        }

}

Hiç yorum yok:

Yorum Gönder