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 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...
随机推荐
- [置顶] Android事件—单选按键和下拉按键
在平常的开发中单选按键和下拉按键是非常常用的2个点击事件.首先介绍下单选按键 1:单选按键,单选的主键是radiogroup 这个主键也是很重要的 首先介绍下主键的布局 <?xml versio ...
- .NET面向对象特性之多态
.NET面向对象特性之多态 前言 上一篇总结了面向对象三大特性之一的继承,再接再厉,这一章继续总结多态.同时把继承中涉及到多态的内容进一步补充扩展.可以说“继承”是多态的根基.但继承主要关注的是“共通 ...
- 安装dnvm
打开powershell,运行:&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.gith ...
- PrintWriter返回值乱码问题
⑴response.setCharacterEncoding("utf-8"); ⑵response.setContentType("text/html; charset ...
- jQuery Validation让验证变得如此容易(三)
以下代码进行对jQuery Validation的简单演示包括必填项.字符长度,格式验证 一.引入文件 <script src="js/jquery-1.8.0.min.js" ...
- No CurrentSessionContext configured 异常解决
Exception in thread "main" org.hibernate.HibernateException: No CurrentSessionContext conf ...
- 简单使用JSON,通过JSON 字符串来创建对象(二)
把 JSON 文本转换为 JavaScript 对象 JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 Jav ...
- 如何在Ubuntu 11.10上连接L2TP VPN
要在家继续项目的开发,但架设的GitLab只能校内访问,更悲催的是学校架设的SSL VPN不支持Linux,好在想起学校以前架设的L2TP VPN,应该可以支持Linux,于是便一通谷歌百度,然而发现 ...
- IP:网际协议
IP:网际协议 1.概述 IP是TCP/IP协议族中最为核心的协议.所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输. IP提供不可靠,无连接的数据报传送服务. ...
- 算法线性编程珠玑读书笔记之----->使用线性算法求解连续子序列的最大和
这段时间笔者几篇文章介绍了改算法线性的文章. 关联文章的地址 这个算法我在我的博客里应用动态规划做过,详细实现请参阅我的dp板块,下面给出书上最快的算法,时间复杂度为O(n),称之为线性算法. #in ...