私がやろうとしていること:「適切な」HTTP削除を使用してレコードを削除してみてください。
コントローラーコード:
[HttpDelete]
public void DeleteRun(int RunId)
{
repository.RemoveEntry(RunId);
}
かみそりのビュー:
@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の部分がまだ機能するかどうかはわかりませんが、心配する必要はありません。一度に一歩踏み出そうとしています:)。これで、従来のタグのように機能し、リンクをクリックすると、hrefのGETリクエストが実行されます。もちろん、コントローラーに[HTTPDelete]を設定したため、404エラーが発生します。私はWeb開発にかなり慣れていないので、javascriptまたはjqueryのいずれかで同じことを行う他の方法があると確信していますが、現時点で知っていることを実行しているだけです。