【发布时间】:2021-11-21 02:33:31
【问题描述】:
我正在尝试删除一个用户,但我的 ajax 没有获取我选择的用户的 ID
我的删除选项位于一个表格中,该表格也是通过另一个 ajax 生成的,渲染后看起来像这样;
当我点击这个选项时,我的删除模式会打开我的删除按钮,看起来像这样
单击此按钮时,我希望删除用户,但没有发生,因为此按钮携带或拾取选定的用户 ID,我真的不知道如何传递或保留此按钮后面的用户 ID这样它将用户 ID 带到我的存储过程中,并根据他们各自的 ID 删除用户
我的存储过程是这样的;
ALTER PROCEDURE [dbo].[RemoveEmployee]
(
@EmpID int
)
AS
BEGIN
DELETE Employee WHERE EmpID = @EmpID
END
我的删除方法是这样的;
[Route("api/Employee/DeleteEmployee")]
[HttpGet]
public void DeleteEmployee(int ID)
{
int i;
using (SqlConnection con = new SqlConnection())
{
con.Open();
SqlCommand com = new SqlCommand("RemoveEmployee", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@EmpID", ID);
i = com.ExecuteNonQuery();
}
}
此方法由以下 ajax 调用,但由于我的 ajax 没有获取 EmpID,因此我的 ajax 调用没有到达我的控制器
ajax 看起来像这样;
$('#deleteEmp').click(function () {
var data = new Object();
data.EmpID = $('#empid').val(data);
$.ajax({
url: 'http://localhost:1089/api/Employee/DeleteEmployee',
dataType: 'json',
contentType: "application/json",
//data: { empid: EmpID },
beforeSend: function () {
$("#dvRoomsLoader").show();
},
complete: function () {
$("#dvRoomsLoader").hide();
},
success: function () {
alert("Employee Deleted Successfully...!");
},
error: function () {
alert("An error occured while deleting Employee...!");
}
});
});
感谢所有帮助,您的回答对我来说意义重大,请继续支持我 谢谢
【问题讨论】:
-
//data: { empid: EmpID },- 1) 它已被评论... 2) 它需要匹配您的操作参数名称,即ID而不是empid- 所以改为data: { ID: EmpID }, -
你的 Ajax 函数没有发送数据
-
您没有将数据对象传递给 ajax 调用,即使数据对象通过了,您的“DeleteEmployee”方法也需要一个 int ID,而不是具有 EmpID 属性的对象。
标签: html jquery sql-server ajax asp.net-mvc