AJAX与ASP.NET结合仿GridView增删改查功能

【GridView渐进全解】第一部分GridView基础 最早我是用asp 和php的,可是ASP.net来到后 我始终学不进去。恰好这时候ajax来了,学习了jQuery+bootstrap后,更是把asp.net扔到了脑后。今日,一个客户非让我帮他把他单位的老办公系统改造一下,实在难以推脱,只好先去看看。到现场发现,是他以前的一个员工用ASP.net自己写的。因此为了省事儿,我只好又把ASP.net拾起来了。这几年一直用c#写winform程序,因此再回过头来学ASP.net发现竟然很快就能上手。因为GridView最常用。 阅读详情
 

jQurey代码部分:

1.    <script type="text/javascript"> 

2.            var flag = 0; 

3.   

4.            //添加新行 

5.            function addRow() { 

6.                var nrow = "<tr><td><input name='hideid' type='hidden' value='' /><input name='username' type='text' value='' size='15' maxlength='15'  /></td><td><select name='seltype' id=seltype1><option value='Text'>文本框</option><option value='textarea'>多行文本区</option><option value='Select'>下拉框</option><option value='Radio'>单选框</option><option value='Checkbox'>复选框</option></select></td><td><span class='heb' name='buttonspan'><input  value='添加' onclick='addData(this)' type='button'  class='se_buton'/>&nbsp;<input  value='取消' type='button' onclick='deleteNewRow(this)' class='se_buton'/></span></td></tr>"; 

7.                if (flag == 0) { 

8.                    $('#attributetable').append(nrow); 

9.                    flag = 1; 

10.               } 

11.           } 

12.  

13.           //添加新行中的数据到后台 

14.           function addData(obj) { 

15.  

16.  

17.               var trobj = $(obj).parents('tr'); 

18.               var username = $(trobj).find(':text[name=username]').val(); 

19.               var seltype = $(trobj).find('select[name=seltype]').val(); 

20.  

21.               $.post("SupplyAJAX.aspx", { username: username, seltype: seltype, type: "add" }, function (data) { 

22.                   if (data.toString() != "0") { 

23.                       $(trobj).find(':hidden[name=hideid]').val(data.toString()); 

24.                       changeDisable(obj, 0); 

25.                   } 

26.                   else { 

27.                       deleteNewRow(obj); 

28.                       alert('添加失败'); 

29.                   } 

30.               }); 

31.               flag = 0; 

32.           } 

33.            

34.           //更新行 

35.           function updData(obj) { 

36.  

37.                

38.               var trobj = $(obj).parents('tr'); 

39.               var id = $(trobj).find(':hidden[name=hideid]').val(); 

40.               var username = $(trobj).find(':text[name=usrname]').val(); 

41.             

42.               var seltype = $(trobj).find('select[name=seltype]').val(); 

43.               $.post("SupplyAJAX.aspx", { id: id, username: username, seltype: seltype, type: "update" },  

44.               function (data) { 

45.            

46.                   if (data.toString() != "0") { 

47.                       changeDisable(obj, 0); 

48.                   } 

49.                   else { 

50.                       alert('更新失败'); 

51.                   } 

52.               }); 

53.           } 

54.           //删除新行 

55.           function deleteNewRow(obj) { 

56.               $(obj).parents('tr').replaceWith(''); 

57.               flag = 0; 

58.           } 

59.           //删除数据库中的行 

60.           function deleteRow(obj) { 

61.               var trobj = $(obj).parents('tr'); 

62.               var id = $(trobj).find(':hidden[name=hideid]').val(); 

63.               $.post("SupplyAJAX.aspx", { id: id, type: "delete" },  

64.               function (data) { 

65.                   if (data.toString() != "0") { 

66.                       $(obj).parents('tr').replaceWith(''); 

67.                   } 

68.                   else { 

69.                       alert('删除失败'); 

70.                   } 

71.               }); 

72.           } 

73.  

74.           //改变编辑状态 

75.           function changeDisable(obj, type) { 

76.               var trobj = $(obj).parents('tr'); 

77.               if (type == 0) { 

78.                   $(trobj).find(':text').attr('disabled', 'disabled'); 

79.                   $(trobj).find('select').attr('disabled', 'disabled'); 

80.                   $(trobj).find('span[name=buttonspan]').html("<input name='gx' value='更新' type='button' onclick='changeDisable(this,1)'  class='se_buton'/>&nbsp;<input value='删除' type='button' name='qx' onclick='deleteRow(this)'  class='se_buton' />");  

81.               } 

82.               if (type == 1) { 

83.                   $(trobj).find(':text').attr('disabled', ''); 

84.                   $(trobj).find('select').attr('disabled', ''); 

85.                   $(trobj).find('span[name=buttonspan]').html("<input name='gx' value='确定' type='button' onclick='updData(this)'  class='se_buton'/>&nbsp;<input value='取消' type='button' name='qx' onclick='changeDisable(this,0)'  class='se_buton' />"); 

 

86.               } 

87.           } 

88.       </script>

HTML代码部分:

1.    <body>

2.   

3.    <table id="attributetable">

4.    </table>

5.      <div class=" heb"><input value="增加一行" type="button" onclick='addRow()' class="se_buton"/> </div>

6.    </body>

SupplyAJAX类

1.   

2.    public partial class SupplyAJAX : System.Web.UI.Page 

3.    { 

4.        static List<UserModel> UmList = new List<UserModel>(); 

5.   

6.        protected void Page_Load(object sender, EventArgs e) 

7.        { 

8.            switch (Request.QueryString["type"]) 

9.            {  

10.               case "add": 

11.                   Add(); 

12.                   break; 

13.               case "update": 

14.                   Update(); 

15.                   break; 

16.               case "delete": 

17.                   Delete(); 

18.                   break; 

19.           } 

20.           Response.End(); 

21.       } 

22.  

23.       private string Add() 

24.       { 

25.           UserModel um = new UserModel(); 

26.           um.Id = UmList.Count + 1; //自动为ID加1 

27.           um.Username = Request.Form["username"]; 

28.           um.Seltype = Request.Form["seltype"]; 

29.           UmList.Add(um); 

30.           return um.Id.ToString(); 

31.       } 

32.  

33.       private string Update() 

34.       { 

35.           int id = int.Parse(Request.QueryString["id"]); 

36.           for (int i = 0; i < UmList.Count; i++) 

37.           { 

38.               if (id == UmList[i].Id) 

39.               { 

40.                   UmList[i].Username = Request.Form["username"]; 

41.                   UmList[i].Seltype = Request.Form["seltype"]; 

42.                   return UmList[i].Id.ToString(); 

43.               } 

44.           } 

45.           return "0"; 

46.       } 

47.  

48.       private string Delete() 

49.       { 

50.           int id = int.Parse(Request.Form["id"]); 

51.           for (int i = 0; i < UmList.Count; i++) 

52.           { 

53.               if (id == UmList[i].Id) 

54.               { 

55.                   UmList.Remove(UmList[i]); 

56.                   return UmList[i].Id.ToString(); 

57.               } 

58.           } 

59.           return "0"; 

60.       } 

61.  

62.   }

 

GridView的增删查改与分页实现 本文还有配套的精品资源,点击获取 简介:本教程详细介绍了如何在ASP.NET中使用GridView控件进行数据的CRUD操作。涵盖了基础使用、数据绑定、分层架构集成、分页、批量删除、数据库操作以及用户体验优化等关键步骤。学习者将能够掌握GridView的综合使用技巧,以及如何通过3层架构和分页功能实现高效的数据管理界面。 1. GridView基本使用 在进... 阅读详情

相关推荐

精通ASP.NET GridView增删改查操作技巧

编辑按钮和删除按钮是数据操作中非常常见的功能。在GridView中,通过标签可以很容易地实现这些按钮。编辑按钮允许用户对某条记录进行编辑操作,而删除按钮则允许用户删除记录。在前面的示例代码中,我们已经展示了如何添加编辑和删除按钮。需要注意的是,当点击这些按钮时,需要配置相应的事件处理方法(例如RowEditing和事件)来响应用户操作。数据绑定事件是GridView控件在数据源与控件内容同步时触发的事件。

weixin_28968525的博客 1207

asp判断ajax请求 -asp.net,一个asp注册验证用户名是否重复的Ajax实例

一个asp注册验证用户名是否重复的Ajax实例1。需要用到的初始化xmlhttp实例和发送请求的javascript函数:以下为引用的内容:// JavaScript Documentfunction createAjax() {//该函数将返回XMLHTTP对象实例var _xmlhttp;try {_xmlhttp=newActiveXObject("Microsoft.XMLHTTP");...

weixin_39622178的博客 249

ASP.NET GridView做增删改查操作

ASP.NET GridView做增删改查操作

判断dataGridView是否重复值

string[] com = new string[dgvRegisterdType.RowCount]; for (int i = 0; i < dgvRegisterdType.RowCount; i++) { com[i] = dgvRegisterdType.Rows[i].Cells["clinic_type

ˉ-_lishk_-ˉ 5041

Gridview中的增删改等各种操作集合实例

Gridview中的增删改等各种操作集合实例 京华志&精华志出品 希望大家互相学习,互相进步 支持优快云 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等

ASP NET C# 纯代码实现GridView绑定增删改

ASP NET C# 纯代码实现GridView绑定增删改

GridView的代码增、删、改、查

1、Web.Servers配置   appSettings>     add key="ConnectionString" value="Server=2012-0901-1153;Database=jk;uid=sa;pwd=sa"/>   appSettings> 2、公共类 using System; using System.Collections.Generic;

仲权的专栏 1260

RuGrid ,分页,增删改查仿AspxGridView

RuGrid——仿AspxGridView(基于Jquery) RuGrid jquery插件的开发目的是为了克服AspxGridView性能低下的问题,AspxGridView的性能问题主要是由两方面构成: 1. 数据库的查询结果在应用层分页(主要问题) 2. 输出了过多的HTML以及js,在Internet环境中太过损耗带宽

gridview数据增删改查(当前行操作)

A前台代码                                                                                             onpageindexchanging="GridView1_PageIndexChanging"

wanglei_smartfish的专栏 2万+

asp.NET Gridview实现数据库增删改查,12年的旧代码,供参考

摘要:该系统可实现通过GRidview 对数据库进行增删改查,代码简单,方便初学者学习使用。 其中数据库用access做的,方便连接。不用sql。

Ubuntu安装pytorch3d的最便捷方法【原创】

Ubuntu安装pytorch3d的最便捷方法

qq_54900679的博客 2924

通过AJAX与ASP.NET结合实现的仿GridView增删改查功能!

jQurey代码部分: "text/javascript">          var flag = 0;           //添加新行          function addRow() {              var nrow = "文本框多行文本区下拉框单选框

张剑的专栏 8738

腾讯WeKnora开源了!手把手教你用Docker+Ollama本地部署多模态知识库(附避坑指南)

本文详细介绍了腾讯开源的多模态知识库工具WeKnora的本地部署方法,通过Docker和Ollama实现完全离线运行。文章包含环境准备、核心组件配置、Ollama模型集成、系统启动验证及高级性能调优等实战内容,特别适合需要构建私有化知识库的中小团队和个人开发者。

weixin_30664051的博客 479

通过AJAX与ASP.NET结合实现的仿GridView增删改查功能

jQurey代码部分: 1. <script type="text/javascript"> 2. var flag = 0; 3. 4. //添加新行 5. function addRow() { 6. var nrow = "<tr><t...

weixin_34138521的博客 81

中科蓝讯蓝牙开发:从源码到固件的自动化构建链路解析

本文详细解析了中科蓝讯AB530X蓝牙芯片从源码到最终固件的完整自动化构建链路。通过剖析prebuild.bat、GCC编译、postbuild.bat等关键环节,阐述了资源打包、配置生成、代码编译与固件合成的全过程,并重点介绍了如何实现一键编译与自动下载,为开发者高效进行嵌入式蓝牙开发提供清晰指南。

weixin_29193259的博客 121

中国境内及周边2839个站点的日降水量逐日降水数据集(1961-2022,0.1°/0.25°/0.5°)1、数据年份:1961-2022,日数据2、数据范围:中国境内及周边2839个站点的日降

CHM_PRE数据集基于中国境内及周边1961至今共2839个站点的日降水观测,在传统的“降水背景场+ 降水比值场”的数据集构建思路上,尝试应用月值降水约束和地形特征校正,并依据中国范围内约4万个高密度站点2015–2019年的日降水量插值后数据进行精度评价。

yushibing717的博客 2788

新写的一个使用ASP.NET AJAX中的UpdatePanel控件实现GridView的无刷新删除,更新,添加,查询!...

新写的一个使用ASP.NET AJAX中的UpdatePanel控件实现GridView的无刷新删除,更新,添加,查询! 并且在UpdatePanel中弹出对话框。 熟悉控件的使用方法,因此没有考虑性能以及代码的规范等问题! 首先的先安装 ASP.NET AJAX框架。(官方下载地址)。本文的实例源程序下载地址。 安装完成后,Microsoft Visual Studio 2005...

weixin_30765319的博客 351

让闲置 MacBook 当 OpenClaw 主机:合盖运行 + 后台常驻

摘要 本文详细介绍如何将闲置MacBook改造为OpenClaw服务器,实现合盖后持续运行。首先推荐Ubuntu 22.04 LTS作为操作系统,提供详细的安装步骤和分区建议。重点介绍三种禁用合盖休眠的方法:修改systemd-logind配置、使用pm-utils工具以及调整GRUB设置。随后指导如何安装Docker并部署OpenClaw服务,包括创建docker-compose.yml文件和配置环境变量。最后说明如何设置系统服务实现OpenClaw开机自启。通过以上配置,可使MacBook在合盖状态下7

一键难忘的博客 4657

两种方法实现asp.net方案的前后端数据交互(aspx文件、html+ashx+ajax)

一个HTML页面只能显示HTML代码信息,不能与数据库进行数据的交互。asp.net方案提供了网页与数据库交互的方法,这里举出两种:①aspx文件 ②ashx文件+ajax技术 一、创建数据库   这里以SQL Server数据库为例,打开SSMS,创建一个数据库,注意数据库的保存路径,后面要将数据库复制到Visual Studio的工程项目中。      打开Visual Stud...

weixin_30607659的博客 2333

DBT关键切片重建算法

DBT通过有限角度(通常15°~50°)扫描,获取一系列低剂量投影图,重建出三维断层图像。传统FBP在稀疏角度下会产生严重的“伪影拖尾”和层间干扰。临床诊断中,放射科医生往往只关注几层关键切片(即病灶所在层),其余层仅作参考。

AI的内部世界的博客 89

基于GELAN模块的YOLOv8改进-C2f结构替换与轻量化与高效涨点优化研究

本文详细探讨了在YOLOv8架构中利用YOLOv9的GELAN模块替换C2f结构的改进方法。轻量化版本在资源受限的场景中具有显著的推理效率提升,适用于边缘设备和移动端应用。高效涨点版本则在检测精度上实现了大幅突破,特别适合高精度要求的任务。实验结果显示,GELAN模块相比原C2f模块,在参数量与计算量间取得了更好的平衡,同时提升了检测性能。此外,本文还展示了结构图、训练代码和部署优化方案,为研究者和开发者提供了实践参考。

博客 1437

AJAX面试题:一个页面实现增删改查(ASP.NET实现)

【下载】 很多asp.net程序员面试的时候都遇到过用ajax效果实现一个页面的增删改查。这几个例子分别用纯JS,JQUERY及JSON实现。希望对大家有些帮助。 这里面的例子表格内容的刷新是直接返回GridView的HTML代码,其实这样做并不是很好,但是代码相对来说比较好理解,适合初学者。 转载于:https://www.cnblogs.com/hawkon/...

weixin_30500289的博客 241

提示词工程中的上下文隔离

已经进入context的prompt是没有办法让大模型真正的忘记的,但是可以通过prompt技巧强约束模型的后续推理中“不再使用、不再提及、不再引用”某部分提示词,这其实是一种行为抑制(behavior suppression),并不是删除。

Criss@陈磊 234
上一篇: 处理数据并发问题
下一篇: asp.net MVc 数据验证
wanglei_samrtfish
博客等级 码龄15年 38粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值