点击图片,AJAX删除后台图片文件的实现代码(asp.net)

  包含了2个页面,一个是显示图片的页面,一个是传递文件名,然后删除真实图片的页面。具体的代码如下:

  ShowPics.htm:

  

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml" >

  <head>

  <title>Untitled Page</title>

  <script src="JS/jquery-1.4.4.js" type="text/javascript"></script>

  <script src="JS/json2.js" type="text/javascript"></script>

  <script type="text/javascript">

  $(function() {

  $("body img").click(function() {

  var name = $(this).attr("alt");

  $.ajax({

  url: "DeletePicsForm.aspx",

  data: "picname="+name,

  datatype: "json",

  type: "GET",

  contentType: "application/json; charset=utf-8",

  success: function(data, textStatus) {

  alert(data.result);

  },

  error: function(XMLHttpRequest, textStatus, errorThrown) {

  alert(XMLHttpRequest);

  }

  });

  });

  });

  </script>

  </head>

  <body>

  <div>

  <img src="Images/xiyangyang.jpg" alt="xiyangyang.jpg" />

  </div>

  </body>

  </html>

  具体的删除的页面的代码如下:

  DeletePicsForm.aspx.cs:

  

复制代码 代码如下:

  protected void Page_Load(object sender, EventArgs e)

  {

  if (Request["picname"] != null)

  {

  Response.Clear();

  Response.ContentType = "application/json";

  String result = "success";

  try

  {

  File.Delete(Server.MapPath(@"\Images\")+Request["picname"].ToString());

  }

  catch (Exception ee)

  {

  result = ee.Message;

  }

  Response.Write("{\"result\":\"" +result+ "\"}");

  Response.End();

  }

  }

  对于上面图片名称的传递,是用的GET方式,想换成POST方式可以用如下的方法:

  

复制代码 代码如下:

  $(function() {

  $("body img").click(function() {

  var name = $(this).attr("alt");

  $.ajax({

  url: "DeletePicsForm.aspx",

  data: { picname: name },

  datatype: "json",

  type: "post",

  success: function(data, textStatus) {

  alert(data.result);

  },

  error: function(XMLHttpRequest, textStatus, errorThrown) {

  alert(XMLHttpRequest);

  }

  });

  });

  });