Я создал WebAPI
, используя Asp .Net Core 2
с фронтом DevExtreme
, отображающим информацию из моей базы данных в сетку данных. У меня есть возможность добавлять новые строки в мою базу данных, но у меня проблема с удалением любых строк через интерфейс.
Это то, что я имею до сих пор.
Более логичная логика:
public void Remove(int id)
{
var sql = @"DELETE FROM [dbo].[MyTable]
WHERE ID = @ID";
using (var dbConnection = Connection)
{
dbConnection.Open();
dbConnection.Execute(sql, new { ID = id });
}
}
Я тестировал приведенный выше код SQL непосредственно в SSMS, и он работает.
Далее, мой контроллер веб-API имеет следующий метод HttpDelete
:
[HttpDelete]
public IActionResult Delete(int id)
{
var record = _bukRepository.FindById(id);
_bukRepository.Remove(record.ID);
return Ok();
}
Наконец, я выполняю рендеринг через jQuery
, и я вызвал мой метод удаления следующим образом:
$(function () {
var url = "http://" + window.location.host;
$("#grid").dxDataGrid({
dataSource: DevExpress.data.AspNet.createStore({
key: "ID",
loadUrl: url + "/api/WebAPI/",
insertUrl: url + "/api/WebAPI/",
updateUrl: url + "/api/WebAPI/",
deleteUrl: url + "/api/WebAPI/"
}),
remoteOperations: true,
columns: [
{
dataField: "ID",
caption: "ID"
}
],
editing: {
allowUpdating: true,
allowDeleting: true,
allowAdding: true
}
});
});
Когда я запускаю свой код и нажимаю кнопку удаления, мои методы получают удар, но он возвращается как Not found
, так как идентификатор не передается из пользовательского интерфейса в мой метод удаления.
что мне не хватает?