首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

留言簿项目,里的【删除留言】,用jquery来实现删除后无刷新更新留言列表

2012-09-10 
留言本项目,里的【删除留言】,用jquery来实现删除后无刷新更新留言列表留言本项目,里的【删除留言】,用jquery

留言本项目,里的【删除留言】,用jquery来实现删除后无刷新更新留言列表
留言本项目,里的【删除留言】,用jquery来实现删除后无刷新更新留言列表,但我写的代码,有一点小问题,就是有的行,要点击两次,界面才出现这行被删除同时更新留言列表,不知道是哪里错了,还请指教,叩首致谢。下面是代码:
  [WebMethod]
  public System.Data.DataSet Delete(int id)
  {
  System.Data.SqlClient.SqlConnection sqlCon = new SqlConnection();
  sqlCon.ConnectionString = "server=.;uid=sa;pwd=sa;database=guestbook";
  //定义SQL语句
  string SqlStr = "delete from gbook where id=" + id;
  //实例化SqlDataAdapter对象
  SqlDataAdapter da = new SqlDataAdapter(SqlStr, sqlCon);
  DataSet ds = new DataSet();
  da.Fill(ds);
  return ds;
  }





  <script type="text/javascript">
  var pageNo = 1; //当前页号
  var pageItems = 3; //每页显示的行数,这个数字与da.Fill(ds,pageNo,3,"gbook");里面的3保持一致
  var MaxPage = pageItems;

  function showPage(m) {
  if (m == -1) {
  if (pageNo < 2) {
  alert("已经到了首页");
  return;
  };
  MaxPage = pageItems;
  }
  else {
  if (MaxPage < pageItems) {
  alert("已经到了末页");
  return;
  };
  }
  pageNo += m;
  getData();
  }
  $(document).ready(function () {
  getData();
  });
  function getData() {
  $.ajax({
  type: "POST",
  cache: false,
  url: "WebService.asmx/Select", /* 注意后面的名字对应CS的方法名称 */
  data: { "pageNo": (pageNo - 1) * pageItems }, /* 注意参数的格式和名称 */
  contentType: "application/x-www-form-urlencoded",
  dataType: "xml",
  error: function (result) {
  alert(result.responseText);
  },
  success: function (data) {
  MaxPage = $(data).find('gbook').size();
  t = "<table border='1'>";
  $(data).find('gbook').each(function (index, ele) {
  var id = $(ele).find('id').text();
  var title = $(ele).find('title').text();
  var name = $(ele).find('name').text();
  var time = $(ele).find('time').text();
  var content = $(ele).find('content').text();
  var reptime = $(ele).find('reptime').text();
  var repcontent = $(ele).find('repcontent').text();
  t += "<tr>";
  t += "<td>" + id + "</td>";
  t += "<td>" + title + "</td>";
  t += "<td>" + name + "</td>";
  t += "<td>" + time + "</td>";
  t += "<td>" + content + "</td>";
  t += "<td>" + reptime + "</td>";
  t += "<td>" + repcontent + "</td>";


  t += "<td> <input type=button value='删除留言' onclick='deleteData(" + id + ")'/></td><td><input type=button value='回复留言' onclick='replayData(" + id + ")'/></td>";
  t += "</tr>";
  })
  t += "</table>";
  t += "<div><a href='' onclick='showPage(-1);return false;'>上一页</a> <a href='' onclick='showPage(1);return false;'>下一页</a></div>"
  $("#result").html(t);
  }
  });
  }

  function deleteData(id) {
  $.ajax({
  type: "POST",
  cache: false,
  url: "WebService.asmx/Delete", /* 注意后面的名字对应CS的方法名称 */
  data: { "id": id }, /* 注意参数的格式和名称 */
  contentType: "application/x-www-form-urlencoded",
  dataType: "text"

  });

  $(document).ready(function () {
  getData();
  });
  }

  </script>

[解决办法]
[WebMethod]
public String Delete(int id)
{
System.Data.SqlClient.SqlConnection sqlCon = new SqlConnection();
sqlCon.ConnectionString = "server=.;uid=sa;pwd=sa;database=guestbook";
//定义SQL语句
string SqlStr = "delete from gbook where id=" + id;
//实例化SqlDataAdapter对象
sqlCon.Open();
SqlCommand cmd = new SqlCommand(SqlStr,sqlCon);
int ret = cmd.ExecuteNonQuery();
sqlCon.Close():
if(ret > 0) return "删除成功";
return "删除失败";
}
[解决办法]
你这里
 function deleteData(id) 
{}

删除函数里面没有重新刷新页面啊

 function deleteData(id) {
$.ajax({
type: "POST",
cache: false,
url: "WebService.asmx/Delete", /* 注意后面的名字对应CS的方法名称 */
data: { "id": id }, /* 注意参数的格式和名称 */
contentType: "application/x-www-form-urlencoded",
dataType: "xml",
success:function(ret)
{
//判断 ret 删除成功再决定是否刷新getData();
getData();
}

});
[解决办法]
async: false,加上这段代码试试

热点排行