所以,我有两个输入,在这里我输入名称和用户的电子邮件,我要去点击一个按钮不能重新绘制表格的jQuery
<input type="text" name="DeleteName" style="visibility:hidden">
<input type="text" name="DeleteEmail" style="visibility:hidden">
<button class="btn btn-mini btn-primary" type="button" name="delete_btn" style="visibility:hidden" onclick="DbDelete()">Delete</button>
后,从数据库中删除,这是我表:
<table class="table table-bordered table-hover table-striped table-condensed" id="UserTable">
<tr>
<th>UserId</th>
<th>Name</th>
<th>Email</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>@item.UserId</td>
<td>@item.Name</td>
<td>@item.Email</td>
</tr>
}
我可以输入两个unputs(包括姓名和电子邮件)或单一个。 这是我控制器从数据库中删除用户动作:
[HttpPost]
public ActionResult Delete(User userinfo)
{
const string noResult = "Search Result Not Found";
using (var uc = new UserContext())
{
if (userinfo.Name != null)
{
var itemforDelete = uc.UserList.SingleOrDefault(o => o.Name == userinfo.Name);
CommitChanges(itemforDelete, uc, noResult);
return new JsonResult { Data = itemforDelete };
}
else
{
if (userinfo.Email != null)
{
var itemforDelete = uc.UserList.SingleOrDefault(o => o.Email == userinfo.Email);
CommitChanges(itemforDelete, uc, noResult);
return new JsonResult { Data = itemforDelete };
}
}
}
return new JsonResult();
}
这是加载表视图控制器的方法。这个按钮
<a class="btn btn-large btn-primary" type="button" href="home/list">Show all users</a>
被点击时,它被称为:
public ActionResult List() {
List<User> users;
using (var uc = new UserContext()) {
users = uc.UserList.ToList();
}
return View(users);
}
这是我的脚本:
<script type="text/javascript">
function DbDelete() {
// Get some values from elements on the page:
var deletedName = $("input[name='DeleteName']").val(),
deletedEmail = $("input[name='DeleteEmail']").val();
var user = { Name: deletedName, Email: deletedEmail };
$.ajax(
{
type: "POST",
url: "Delete",
data: JSON.stringify({ userinfo: user }),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: OnDeleteSuccess,
error: OnDeleteError
});
}
function OnDeleteSuccess(data)
{
alert("success");
//$('#UserTable').remove(data);
$("#UserTable").fnDraw();
}
function OnDeleteError(data) { alert("error"); }
</script>
用户从数据库中删除,在成功处理程序阿勒特作品,但我的数据库在页面上没有更新,只有在按F5后。
我在做什么错?
任何建议,@ usad? :( – TomatoLion 2014-09-23 13:06:21
仍然不知道,你可以添加代码在哪里启动数据表? – ekad 2014-09-23 13:16:14
我已经添加了一个更多的方法('List')加载数据库到视图 – TomatoLion 2014-09-23 13:19:34