2016-02-10 3 views
1

У меня есть ссылка в ASP.NET MVC, который выглядит следующим образом:Установка УДАЛИТЬ глагол @ Ajax.ActionLink

@Ajax.ActionLink("Delete", "Delete", new { id = item.Id }, new AjaxOptions { HttpMethod = "DELETE" }) 

Однако, когда я нажимаю его ведет себя как ссылку GET и хром отладчик говорит, что это : GET http://localhost:22148/CreditCards/Delete/2001 404 (Not Found)

HTML, который получает генерируется шаблоном бритву

<a data-ajax="true" data-ajax-method="DELETE" href="/CreditCards/Delete/2001">Delete</a> 

кажется, использует HTML5, чтобы указать, что оно должно быть удаление вызова. Как сделать звонок удаления?

ответ

1

Пакет javascript, который обрабатывает атрибуты data-ajax и data-ajax-method, - The microsoft unobtrusive ajax package for jquery. Чтобы включить его, вам необходимо сделать следующее.

Сначала установите пакет nuget с Install-Package Microsoft.jQuery.Unobtrusive.Ajax из консоли менеджера пакетов.

Затем добавьте узелок RegisterBundleCollection() в App_Start/BundleConfig.cs так:

bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include(
      "~/Scripts/jquery.unobtrusive-ajax*")); 

Наконец, включить этот пакет и JQuery расслоение _Layout.cshtml:

dd Scripts.Render("~/bundles/jquery") 
dd Scripts.Render("~/bundles/jqueryajax") 

В то время как JQuery включен в пакет NuGet с пакетами ASP.NET MVC, его не включены в представления по умолчанию

В этот момент ваша ссылка Action будет выполнять установку DELETE объявление GET.