Yapmaya çalışıyorum: Bir kaydı "düzgün" HTTP Sil kullanarak silmeye çalışın.Ajax.ActionLink ile düzgün bir HTTP Silme sorunları
Kontrolör Kodu:
[HttpDelete]
public void DeleteRun(int RunId)
{
repository.RemoveEntry(RunId);
}
Jilet Görünüm:
@Ajax.ActionLink("Delete","DeleteRun",new {RunId = run.RunId},
new AjaxOptions() { Confirm = "Are you sure you want to delete this entry?",
HttpMethod = "DELETE",
OnComplete = string.Format("DeleteRunInTable({0})",run.RunId)
})
JavaScript (ayrı dahil dosyada):
function DeleteRunInTable(RunId) {
$("tr[data-runid=" + RunId).remove();
}
Bağlantı actionlink yöntemi yaratıyor:
<a data-ajax="true" data-ajax-complete="DeleteRunInTable(11)" data-ajax-confirm="Are you sure you want to delete this entry?" data-ajax-method="DELETE" href="/Runs/Delete/11">Delete</a>
Javascript parçasının henüz çalıştığından emin değil, bunun için endişelenmeyin. Bir seferde bir adım atmaya çalışıyorum :). Şimdi sadece geleneksel bir etiket gibi çalışıyor ve bağlantıyı tıklattığımda sadece href'in GET isteğini yapıyor. Tabii ki denetleyicime koyduğum [HTTPDelete] nedeniyle bir 404 hatası alıyorum. Ben web geliştirme için oldukça yeni, bu yüzden javascript veya jquery aynı şeyi yapmak için başka yollar vardır eminim ama ben sadece bu noktada biliyorum ne yapıyorum.
Yanıt için teşekkürler ... Aslında onları sildim. İhtiyacı olmadıklarını düşündüm. Ajax.actionlink'in jquery'yi kullanacağını düşündüm. Yanlış mıyım? Çoğulculuğu doğru bir şekilde hatırlarsam K Scott Allen ile videolardan birini izliyordum ve ajax.actionslink'i kullanırken hem microsrosoft ajax betiklerini sildi. Ben oldukça acemi yaşıyorum bu yüzden actionlink belirli durumlarda microsoft ajax betikleri kullanır ve diğer durumlarda bunu yapmaz. Emin değilim :) – coding4fun
Bu benim hatam oldu. Gerekli olmayan microsoft ajax komut dosyaları görünür. Şu ana kadar bilmediğim bir script'i özledim: jquery.unobtrusive-ajax.min.js. Muhtemelen bir sonraki sorumum, bir komut dosyası yerine sayfadan eksik (sadece çalışmıyor): P. – coding4fun
ahh cool, eksik bir senaryo olduğunu hissettim ... sadece doğru olanı değil :) Gelecekte kullanıcıların aynı soruna sahip olması ve doğru okuma yapmaması için cevabımı güncelledim. yorumlar. – lomaxx