下午好,我想从表中删除一行,当我点击删除按钮时,整行将被删除,应该删除的数据是名称,联系人号码和年龄,这些也是保存的在数据库中所以我想要实现的是当点击删除按钮时,网站和数据库上的数据将被清除。谢谢。
我曾尝试过这种方法,但它只会删除网站上的行,每当我重新加载页面时,数据都会再次出现
$('.btnDelete').on('click', function() {
$(this).closest('tr').remove();
return false;
});
<td>
<button href="javascript:void(0);" id="btnDelete" class="btnDelete">Delete</button>
</td>
答案 0 :(得分:0)
在HTML编码中,按钮标记包含用于链接到&#34; javascript:void(0)&#34;的链接的HREF属性。所以click事件可以执行链接到HYPERLINK位置,它无法从表中删除行。所以我们在脚本中链接JAVASCRipt:VOID(0)。
脚本:
$('.btnDelete').on('click', function() { { // <-- changes
$(this).closest('tr').remove();
windows.location = "javascript:void(0);"
return false;
});
HTML编码:
<td>
<button id="btnDelete" class="btnDelete">Delete</button>
</td>
答案 1 :(得分:0)
您必须在控制器中编写删除功能,如此
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
table1 tableobject = db.table1.Find(id);
if (tableobject == null)
{
return HttpNotFound();
}
return View(tableobject );
}
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
table1 tableobject = db.table1.Find(id);
db.table1.Remove(tableobject);
db.SaveChanges();
return RedirectToAction("Index");
}
在视图中
$('.btnDelete').on('click', function() {
$.ajax({
type: "post",
url: "@Url.Action("Delete","ControllerName")",
ajaxasync: true,
data: { id : $(this).find('td').eq(0).text() },
success: function () {
alert("success");
$(this).closest('tr').remove();
// Perform redirect
},
error: function (data) {
alert(data.x);
}
});
});