AI智能
改变未来

ASP.Net–Ajax删除

我的删除操作是搭建在三层架构上的,因此需要提前搭建好三层。创建好显示数据的页面。

第一步:把一般处理程序创建并写好相应操作代码。一般处理程序可以在JQuery中被调用。

[code]using System;using System.Collections.Generic;using System.Linq;using System.Web;using BLL;namespace WebApplication1{/// <summary>/// DelHandler 的摘要说明/// </summary>public class DelHandler : IHttpHandler{public void ProcessRequest(HttpContext context){//获取要删除的IDint id = Convert.ToInt32(context.Request.QueryString[\"id\"]);//执行删除,这里把受影响的行数转换成string格式用作返回给程序调用处string text = ProductManager.Delete(id).ToString();context.Response.ContentType = \"text/plain\";//返回受影响的行数context.Response.Write(text);}public bool IsReusable{get{return false;}}}}

 第二步:在数据显示的页面引用JQuery文件和编写Ajax操作

[code]//引用JQuery文件<script type=\"text/javascript\" src=\"Scripts/jquery-1.4.1.js\"></script><script type=\"text/javascript\">$(function () {//获取用户点击控件并为其添加单击事件$(\".Del1\").click(function () {//获取到这个控件var $this = $(this);//获取到控件的id属性var id = $this.attr(\"id\");//用post调用一般处理程序并传要删除的行id$.post(\"../DelHandler.ashx?id=\" + id,function (data) {if (data === \"1\") {alert(\"删除成功!\");//如果删除成功,移除该行$this.closest(\"tr\").remove();} else {alert(\"删除失败!\");}});});})</script>

第三步:给删除按钮控件添加属性

[code]<a class=\"Del1\" id=\'<%# Eval(\"id\") %>\'>删除</a>

注意:

  1. post方法在传id的时候可以用{id:id}的方式,这样在获取的时候需要用from的方式获取,这种方法就是比通过地址栏传参数更紧密安全一些
  2. 第三步给控件添加的属性,我直接用a标签的的id属性作为存放要删除行的id的方式了,这个方法不太友好,可以自定义属性去存放id
  3. 第二步中添加单击事件的方法也有多种,我用的比较直接的一个。还有其他更灵活的方法比如.live
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » ASP.Net–Ajax删除