none
asp.net MVC GET işleminde veriyi silme hatası RRS feed

  • Soru

  • Index View:

    foreach(var item in Model)

    {

    @item.Name

    @Html.ActionLink("Sil", Delete, new{Id= item.Id})

    }

    Burdan Id yi Delete Action'ına gönderiyorum sayfa get edildiginde listelenmiş veri silinsin tekrar Index action'ına yönlensin istiyorum 404Kaynak bulunamadı diyor

    HomeController:

    ActionResult Delete(int Id)

    {

    var product = db.Product.Find(Id);

    db.Product.Remove(product);

    db.SaveChanges();

    return RedirectToAction("Index");

    }

    Nerde hata yapıyorum

    8 Haziran 2016 Çarşamba 11:07

Yanıtlar

  • yoo çalışmaz, bütün action'lar public olmalı. Yazdığın c# kodlarının hepsi derlenip bin klasörüne .dll olarak koyuluyor. Şimdi düşün private olan bişey dışarıdan nasıl erişilsin de çalıştırılsın? bu mvc ye özgün bişey değil, tüm dll ler için geçerli bu.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    8 Haziran 2016 Çarşamba 14:13
    Moderatör

Tüm Yanıtlar

  • @Html.ActionLink("Sil", Delete, new{Id= item.Id})

    burada bir gariplik var. Burdaki Delete nerden geldi ki? Şunu denesene ActionLink kullanmak kısıtlar seni;

    <a href="@Url.Action("Delete", new { @Id = item.Id})">Sil</a>


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    8 Haziran 2016 Çarşamba 11:17
    Moderatör
  • @Html.ActionLink("Sil", Delete, new{Id= item.Id})

    burada bir gariplik var. Burdaki Delete nerden geldi ki? Şunu denesene ActionLink kullanmak kısıtlar seni;

    <a href="@Url.Action("Delete", new { @Id = item.Id})">Sil</a>


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    '/' Uygulamasında Sunucu Hatası Kaynak bulunamadı. Acıklama:HTTP 404. 

    Diyor yine onay bey.

    ActionLink deki Delete Home Controllar'ın icinde ki Action Onay bey

    @Html.ActionLink("Sil", Delete, new{Id= item.Id})


    8 Haziran 2016 Çarşamba 11:38
  • hayır, oraya Delete yazman onun Home/Delete actionu yapmaz, string olmalıydı.

    Action un privete mı senin? :)


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    8 Haziran 2016 Çarşamba 11:46
    Moderatör
  • hayır, oraya Delete yazman onun Home/Delete actionu yapmaz, string olmalıydı.

    Action un privete mı senin? :)


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    evet private linke yönleniyor Onay Bey localhost:3359/Home/Delete/1       burdaki "1" = Id

    istedigim cok basit aslında nerde hata yapiyorum anlamadım linke tıkladıgımda veri silinsin

    Demek istediğinizi anladım onay bey string olarakda yazdım. Değişmiyor . 

    @Html.ActionLink("Sil", "Delete", new{Id= item.Id})

    8 Haziran 2016 Çarşamba 11:56
  • "private mi?" diye sorarken, "public yapmalısın" sonucuna varabileceğini düşünmüştüm :)

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    8 Haziran 2016 Çarşamba 13:58
    Moderatör
  • "private mi?" diye sorarken, "public yapmalısın" sonucuna varabileceğini düşünmüştüm :)

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    Onay bey oldu  YuPPPİİİ :)) 

    Ama anlamadım neden public yaptık sonucta bütün Actionlar private calişirken :D

    Bu kidemliler herşeyi biliyor :D bende kıdemli olcam abi :(

    8 Haziran 2016 Çarşamba 14:12
  • yoo çalışmaz, bütün action'lar public olmalı. Yazdığın c# kodlarının hepsi derlenip bin klasörüne .dll olarak koyuluyor. Şimdi düşün private olan bişey dışarıdan nasıl erişilsin de çalıştırılsın? bu mvc ye özgün bişey değil, tüm dll ler için geçerli bu.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    8 Haziran 2016 Çarşamba 14:13
    Moderatör
  • yoo çalışmaz, bütün action'lar public olmalı. Yazdığın c# kodlarının hepsi derlenip bin klasörüne .dll olarak koyuluyor. Şimdi düşün private olan bişey dışarıdan nasıl erişilsin de çalıştırılsın? bu mvc ye özgün bişey değil, tüm dll ler için geçerli bu.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    Cok teşekkürler onay bey :) Hakkınız ödenmez Inşallah öğrencinizde olcam internet sıkıntım var kaldıgım yerde internet yok. İş yerinden bağlaniyorum şuanda call canterdayım günde 1000 cagrı cevaplaniyor kafa kalmiyor. Public yazmayı bile Unuttum abi.
    8 Haziran 2016 Çarşamba 14:22