Ajax实现页面动态加载,添加数据
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Products.aspx.cs" Inherits="_0726Test.Product.Products" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="../js/jquery.js"></script> <script type="text/javascript"> $(function () { //1.加载表格中的信息 loadComments(); //2.给按钮添加单击事件 $('#btnSend').click(function () { var post_data = $('#form1').serializeArray();//获取序列化表单元素 //将请求提交到一般处理程序 $.post("InsertProduct.ashx", post_data, function (_datetext) { if (_datetext == 1) { alert("添加成功"); loadComments(); } }) }) }) //页面加载事件 function loadComments() { $.getJSON('GetAllProduct.ashx?id=' + Math.random(), null, function (_dataJSON) { //获取tbody标签 var tbodyDate = $('#tbodyDate'); tbodyDate.empty(); //遍历JSON元素,添加到到Tbody for (var i = 0; i < _dataJSON.length; i++) { tbodyDate.append ($('<tr><td>' + _dataJSON[i].Id + '</td>' + '<td>' + _dataJSON[i].Name + '</td>'+ '<td>'+_dataJSON[i].Price+'</td>'+ '<td>'+_dataJSON[i].Sales+'</td></tr>')); } }) } </script> </head> <body> <form id="form1" runat="server"> <table border="1" cellspcing="2" cellpadding="1"> <tr> <td> 名称: </td> <td> <input type="text" name="txtPname" /> </td> </tr> <tr> <td> 价格: </td> <td> <input type="text" name="txtPrice" /> </td> </tr> <tr> <td> 数量: </td> <td> <input type="text" name="txtSales" /> </td> </tr> <tr> <td> </td> <td> <input type="button" id="btnSend" value="提交" /> </td> </tr> </table> </form> <p>--------------------商品列表----------------------</p> <table border="1" cellspacing="2" cellpadding="1" > <thead> <tr> <th> ID </th> <th> 名称 </th> <th> 价格 </th> <th> 数量 </th> </tr> </thead> <tbody id ="tbodyDate"> </tbody> </table> </body> </html>
一般处理程序代码:
GetAllProduct.ashx(加载数据到页面)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Data.SqlClient; using System.Web.Script.Serialization; namespace _0726Test.Product { /// <summary> /// GetAllProduct 的摘要说明 /// </summary> public class GetAllProduct : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string str = @"Data Source=QH-20160731XBEK\SQLSERVER2008;Initial Catalog=MvcTest;User ID=sa;Password=1234"; SqlConnection conn = new SqlConnection(str); conn.Open(); string selname = "SELECT * FROM MyProduct"; List<MyProduct> products = new List<MyProduct>(); SqlCommand sc = new SqlCommand(selname, conn); SqlDataReader dr = sc.ExecuteReader(); while (dr.Read()) { MyProduct product = new MyProduct(); product.Id = Convert.ToInt32(dr["Id"]); product.Name = dr["ProductName"].ToString(); product.Price = Convert.ToDouble(dr["Price"]); product.Sales = Convert.ToInt32(dr["Sales"]); products.Add(product); } dr.Close(); //把list集合转为JSON类型 JavaScriptSerializer jss = new JavaScriptSerializer(); string jsondata = jss.Serialize(products); context.Response.Clear(); context.Response.Write(jsondata); context.Response.End(); } public bool IsReusable { get { return false; } } } }
InsertProduct.ashx(添加数据)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Data.SqlClient; namespace _0726Test.Product { /// <summary> /// InsertProduct 的摘要说明 /// </summary> public class InsertProduct : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; MyProduct product = new MyProduct(); product.Name = context.Request.Form["txtPname"]; product.Price = Convert.ToDouble(context.Request.Form["txtPrice"]); product.Sales = Convert.ToInt32(context.Request.Form["txtSales"]); string str = @"Data Source=QH-20160731XBEK\SQLSERVER2008;Initial Catalog=MvcTest;User ID=sa;Password=1234"; SqlConnection conn = new SqlConnection(str); conn.Open(); string insertSQL = "INSERT INTO MyProduct VALUES(@name,@price,@sales)"; SqlCommand sc = new SqlCommand(insertSQL, conn); sc.CommandType = CommandType.Text; SqlParameter p1 = new SqlParameter("@name", product.Name); SqlParameter p2 = new SqlParameter("@price", product.Price); SqlParameter p3 = new SqlParameter("@sales", product.Sales); sc.Parameters.Add(p1); sc.Parameters.Add(p2); sc.Parameters.Add(p3); context.Response.Clear(); int result = sc.ExecuteNonQuery(); ) { context.Response.Write("); } else { context.Response.Write("); } context.Response.End(); conn.Close(); } public bool IsReusable { get { return false; } } } }
Ajax实现页面动态加载,添加数据的更多相关文章
- layui中,同一个页面动态加载table数据表格
效果图: 前端代码: <div class="layui-fluid" id="record-user" hidden="hidden" ...
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- geotrellis使用(二十三)动态加载时间序列数据
目录 前言 实现方法 总结 一.前言 今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...
- Echarts使用及动态加载图表数据
Echarts使用及动态加载图表数据 官网:http://echarts.baidu.com/ 1.文档 2.实例 名词: 1.统计维度(说明数据) 维度就是统计致力于建立一个基于多方位统计(时间.地 ...
- AJAX 动态加载后台数据 绑定select
<select id="select"> <!--下拉框数据动态加载--> </select> js:(使用jquery) $(document ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- Echarts动态加载后台数据
注意:1.用Ajax请求获取后台数据 2.Echarts只能处理Json数据 后台Controller:根据业务需求不同而返回不同数据,我前台要循环遍历Echarts的series进行数据添加,所以后 ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
- 使用 Cesium 动态加载 GeoJSON 数据
前言 需求是这样的,我需要在地图中显示 08 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...
随机推荐
- Vnix的Logo设计
又捣鼓了一下Logo,感觉Ascii Design碉堡了.下面贴出几款Logo以供观赏,欢迎投票. ## ## ## ## #### ## ## ## ## ### ## ## ## ## ## ## ...
- js读取 存入cookie
<script language=javascript> //获得coolie 的值 function cookie(name){ var cookieArray=document.coo ...
- HTML5-WebSocket-初探
1.环境准备 主要是用<HTML5 程序设计>(第二版)作为学习参考资料.但是上面用的WebSocket服务器是用python写的.偶不懂python,于是得找另外一个替代实现,这里适用n ...
- 框架的设计之IRepository还是IRepository<T>
[Yom框架]漫谈个人框架的设计之[是IRepository还是IRepository<T>]? 前言 ...
- 扩展jquery easyui datagrid编辑单元格
扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...
- speedbar , tabbar 还有linum-mode
我的Emacs折腾经验谈(三) speedbar , tabbar 还有linum-mode 离上一篇博客已经很遥远了,最近总是各种逛,但没有心思静下来写点东西,这回写一下我之前用的一些东西. Spe ...
- Ping其他电脑ping不通的解决方法
要想Ping通其他电脑,首先要看被PING的电脑,是否允许PING. 一.在被PING电脑操作系统为XP下分为:1.被PING 电脑关闭了防火墙,就完全可以PING通:2.被PING 电脑开了防火墙, ...
- LESS编译方案
我的LESS编译方案 2013-08-07 10:22 by 逆风之羽, 469 阅读, 2 评论, 收藏, 编辑 背景 近期项目前端决定使用less,简单介绍一下,详细信息有兴趣查看官方文档(htt ...
- QSQL导出mapfile和mapfile中PostGIS连接的一点心得
昨天弄QSQL导出mapfile,一直遇到下图的错误 原因是QGIS在渲染图层时候使用了新的符号,在图层上右键-属性,如下图将符号修改就OK了 然后我尝试使用QGIS连接本机PostGIS数据,结果老 ...
- git的初步使用---本地代码库的使用和提交
git的初步使用---本地代码库的使用和提交 git是一个好东西,但对于新手来说,这个工具并不好使用,因为它里面涉及到很多东西,而这些东西新手一时间是无法理解的.不幸的是,本人就是新手一枚,所以,这里 ...