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 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...
随机推荐
- GLIBC_2.7升级
GLIBC_2.7: ftp://ftp.ntua.gr/pub/FreeBSD/ports/distfiles/rpm/i386/fedora/8/glibc-2.7-2.i386.rpm ftp: ...
- [转]编译 JavaScriptCore For iOS
from: http://phoboslab.org/log/2011/06/javascriptcore-project-files-for-ios github: https://github.c ...
- 在html中使用javascript显示本地图片的
<html> <head> <script type="text/javascript"> function getFullPath(obj){ ...
- c语言,求字符数组的长度
练手代码,适用初级码农: #include<stdlib.h> #include<stdio.h> #include<assert.h> int count(con ...
- 【转】title与alt的区别
html中的title属性和alt属性让人有些混淆. 以前不知道有title这个属性,第一次用到它时,就和alt产生了混淆.一位朋友告诉我说,alt是图片img标签里用的,title是超链接里用的,当 ...
- 创建naarray(1)
创建ndarray Numpy创建ndarray的方法比较够用,几乎也就是矩阵运算的常用的方法. 约定: import numpy as np 常用的创建ndarray的函数有:np.array, n ...
- 转--htaccess语法教程 apache服务器伪静态规则教程
转自:http://blog.csdn.net/qingli518/article/details/9118361 htaccess语法教程apache服务器伪静态规则教程 注:如果你是为了找Disc ...
- 国外大师给PHP初学者的8条建议
学习一门新语言可能会是一件很艰巨的任务,最好的办法就是借鉴前辈的经验已达到事半功倍,下面就是为php新手们准备的一些经验餐. 1.从OOP开始Naramore是SourceForge员工以及PHPWo ...
- Qt Creator+MinGW+boost特殊函数的使用示例
Qt Creator+MinGW+boost特殊函数的使用示例: 先编译和安装boost: bootstrap.bat gcc .\b2 --toolset=gcc --prefix=E:\boost ...
- Spring实战——XML和JavaConfig的混合配置
前言 看了园龄已经两年多了,再不能写完内容直接点击发布,留下一片密密麻麻的文字让别人看的头昏脑涨.所以现在每次写完主要内容后,还需要对于格式稍稍调整下.那么有没有什么编辑模式能够在你写完文章后基本也把 ...