Что я пытаюсь сделать: Попробуйте удалить запись, используя «правильный» HTTP Delete.
Код контроллера:
[HttpDelete]
public void DeleteRun(int RunId)
{
repository.RemoveEntry(RunId);
}
Razor View:
@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 (в отдельном включенном файле):
function DeleteRunInTable(RunId) {
$("tr[data-runid=" + RunId).remove();
}
Ссылка, которую создает метод actionlink:
<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, но не стоит беспокоитьсяЭто.Попытка сделать это по одному шагу за раз :).Теперь он просто работает как традиционный тег, и когда я нажимаю на ссылку, он просто выполняет GET-запрос href.Конечно, я получаю ошибку 404 из-за [HTTPDelete], который я установил на свой контроллер.Я довольно новичок в веб-разработке, поэтому я уверен, что в javascript или jquery есть и другие способы сделать то же самое, но я просто делаю то, что знаю на данный момент.