jQuery.ajax()可以简写为$.ajax().
以前有写过MVC删除的实现,如《MVC实现删除数据库记录http://www.cnblogs.com/insus/p/3368042.html 和《MVC 5显示、创建、编辑、删除等功能实练http://www.cnblogs.com/insus/p/3372916.html 。不过此次Insus.NET想使用jQuery.ajax()方法来实现。

能实现到此功能,也有遇上很多困难以及花费很多时间。当你看到此篇时,你会看到Insus.NET的分享,而让你少走弯路喔。

既然要做到删除数据,数据是在数据库中,因此从数据库入手,写一个删除的存储过程:

回到MVC的应用程序,在Entities目录下,修改FruitEntity.cs,添加一个方法,如下:

保存好之后,修改MVC的控制器FruitController.cs,添加一个httppost属性的Delete(Fruit objFruit)的Action。

只要稍对MVC有所了解的人,看上去那都是相当简单。OK,现在要去视图Index.cshtml,此视图就是《MVC应用jQuery动态产生数据http://www.cnblogs.com/insus/p/3410138.html 。我们需要在其基础上修改并添加按钮,能让其删除数据。

先对视图中静态的html添加form和一列,参考下图高亮部分:

然后修改jQuery动态产生的Html的代码,添加一个hidden input,是用来存储记录的主键值。添加另一个是一个铵钮,可以让用户点击此铵钮,可以删除当前记录。

接下来,我们可以写jQuery.ajax()方法,对记录进行删除。开始之前,需要想一些问题,上面铵钮是jQuery动态产生的,怎样才能找到它,并附于click事件。另外的是那个hidden的隐藏主键值,也是jQuery动态产生的,怎样在ajax post时,获取当前行的主键值?说句实在话,这部分花上Insus.NET不少时间,才解决它们,也算是学习jQuery查阅资料最多的问题。

在jQuery的1.10.2/jquery.min.js,可以找到一个delegate()方法,可以对动态产生的html签标,启用事件委托。上图中的#48行与#49行的功能是一样的,均是获取记录的主键值。而#53行代码,是在数据库记录删除成功之后,需应该remove()删除table行。

没有实践过时,实现起来,肯定是会有相当的难度,不过$.ajax()删除实现之后,就会觉得它又是那样的简单与容易。

再看看实时操作演示,实例中没有实现点击删除时,先给个确认提示功能,不过此功能你可以在这里看到《MVC删除操作前confirm提示http://www.cnblogs.com/insus/p/3400717.html

MVC使用jQuery.ajax()删除数据的更多相关文章

  1. jquery ajax提交数据给后端

    大家好,今天铁柱兄给大家带一段jquery ajax提交数据给后端的教学. 初学javaweb的同学前端提交数据基本上都是用form表单提交,这玩意儿反正我是觉得不太好玩.而JavaScript aj ...

  2. MVC中使用Ajax提交数据 Jquery Ajax方法传值到action

    Jquery Ajax方法传值到action <script type="text/javascript"> $(document).ready(function(){ ...

  3. 一般删除网页数据和jquery下使用Ajax删除数据的区别

    1. 一般删除网页数据 就是指用户在点击删除的时候,会跳转到DeleteUser.ashx一般处理程序中,并且通过get传参的方式传递一个id的参数,然后在后台处理 <a href='Delet ...

  4. spring mvc 与 jquery ajax

    在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...

  5. jQuery DataTable 删除数据后重新加载

    问题描述: 利用jQuery Datatable和artTemplate组合来做的表格.但是当删除数据时,需要重新加载table里的数据.但是问题是datatable并没有直接的重新渲染,反而给数据累 ...

  6. ASP.NET MVC使用jQuery来POST数据至数据库中

    学习ASP.NET MVC程序,结合jQuery客户端代码,Post数据至数据库去.Insus.NET今天写一个完整性的例子. 在数据库中,创建一个表[dbo].[TestUser]: 既然是把数据存 ...

  7. django 使用jquery ajax post数据问题

    django 开启了CSRF功能导致jquery ajax post数据报错 解决方法在post数据里引入csrfmiddlewaretoken: '{{ csrf_token }}'},同时需要在f ...

  8. asp.net mvc 接收jquery ajax发送的数组对象

    <script type="text/javascript"> $(function () { var obj = { name: "军需品", m ...

  9. JQuery Ajax 获取数据

    前台页面:   对一张进行查询,删除,添加 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"& ...

随机推荐

  1. JS产生徐特尔图表

    徐特尔图表是一个小游戏,在5*5的格子上,无序的写着1~25这25个数子,然后再找出来.其实在JS中也就是将25个数进行随机产生然后放到一个表格中.主要分为两部分,一是随机数的产生,还有一部分就是表格 ...

  2. 在ASP.NET MVC部署AngularJs

    创建一个ASP.NET MVC项目. 打开NuGet管理,安装angularjs: 在App_Start目录下,Bundle刚刚安装的angularjs库: 在Global.asax.cs的Appli ...

  3. 背水一战 Windows 10 (41) - 控件(导航类): Frame

    [源码下载] 背水一战 Windows 10 (41) - 控件(导航类): Frame 作者:webabcd 介绍背水一战 Windows 10 之 控件(导航类) Frame 示例Controls ...

  4. nodejs学习(imooc课程笔记, 主讲人Scott)

    课程地址: 进击Node.js基础(一) 进击Node.js基础(二) 1. nodejs创建服务器 var http = require('http'); //加载http模块 //请求进来时, 告 ...

  5. 【计算机网络】TCP通信的细节及TCP连接对HTTP事务处理性能影响

    从三次握手的细节说起 刚开始尝试使用java等后端语言写IO流,或用套接字(socket)实现简单C/S通信的同学们,常常会接触到的一个概念:就是所谓的“三次握手”,socket作为一个API接口,封 ...

  6. Code Chef MINPOLY(计算几何+dp)

    题面 传送门 题解 我们枚举这个凸多边形\(y\)坐标最小的点\(p_i\),然后对于所有\(y\)坐标大于等于它的点极角排序 我们预处理出\(s_{j,k}\)表示三角形\(p_i,p_j,p_k\ ...

  7. C#6.0语言规范(九) 命名空间

    C#程序使用命名空间进行组织.命名空间既可以用作程序的“内部”组织系统,也可以用作“外部”组织系统 - 一种呈现暴露给其他程序的程序元素的方式. 提供了使用指令(使用指令)以便于使用命名空间. 编译单 ...

  8. spring IOC理解

    用spring做了几个项目后发现,对spring的IOC理解还是不够清晰,今天就来总结下自己的理解(个人的一些见解) 以前用jsp+servlet做网站时,只是分了显示层(jsp),控制层(servl ...

  9. iOS开发之Todo List for Swift项目

    一直从事Windows Phone开发,但对iOS开发一直有所好奇,于是在MBP到手之际,顺手安装了Xcode.移动互联网开发的相似性,使得我能快速地了解和认识了iOS的开发框架体系,在看完了Appl ...

  10. Python上下文管理协议:__enter__和__exit__

    上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围.一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它的语 ...