【发布时间】:2015-11-22 13:25:19
【问题描述】:
我在 gridview 中有一个元素列表,我需要使用 web 方法删除它们,更新 gridview 并且不要重新加载整个页面。但每次调用后页面都会重新加载。
我的按钮:
<asp:Button ID="btnDelete" runat="server" CssClass="btn btn-default" Text="Delete a row" OnClientClick="DeleteRecord() return false;" />
它的 JS 脚本:
function DeleteRecord() {
var inputData = jsTextBox();
if (confirm('Are you certain you want to delete this record?')) {
$.ajax({
type: "POST",
url: "SubjectTable.aspx/DeleteRecord",
data: inputData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#<%=gdViewSubj.ClientID%>').empty();
if (data.d.length > 0) {
fillGrid(data);
}
},
failure: function (data) {
alert(data.d);
}
});
}
return false;
}
function fillGrid(data) {
$('#<%=gdViewSubj.ClientID%>').append("<tr><th>SUBJ_ID</th><th>SUBJ_NAME</th><th>HOUR</th><th>SEMESTER</th></tr>");
for (var i = 0; i < data.d.length; i++) {
$('#<%=gdViewSubj.ClientID%>').append("<tr><td>" +
data.d[i].SUBJ_ID + "</td> <td>" +
data.d[i].SUBJ_NAME + "</td> <td>" +
data.d[i].HOUR + "</td> <td>" +
data.d[i].SEMESTER + "</td></tr>");
}
}
所以当我一步一步检查脚本时,我发现一切都很好,gridview 被清除,然后在没有删除行的情况下填充。但是在脚本页面重新加载结束后,我看到了旧行。如果我关闭页面并再次打开它,我会得到一个更新的表格。
这个问题的根源是什么以及如何解决?
【问题讨论】:
-
难道您只是在
return之前缺少;这里OnClientClick="DeleteRecord() return false;? -
哦,多么愚蠢的错字。谢谢。