前台代码:

 <%@ 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实现页面动态加载,添加数据的更多相关文章

  1. layui中,同一个页面动态加载table数据表格

    效果图: 前端代码: <div class="layui-fluid" id="record-user" hidden="hidden" ...

  2. js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的

    js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...

  3. geotrellis使用(二十三)动态加载时间序列数据

    目录 前言 实现方法 总结 一.前言        今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...

  4. Echarts使用及动态加载图表数据

    Echarts使用及动态加载图表数据 官网:http://echarts.baidu.com/ 1.文档 2.实例 名词: 1.统计维度(说明数据) 维度就是统计致力于建立一个基于多方位统计(时间.地 ...

  5. AJAX 动态加载后台数据 绑定select

    <select id="select"> <!--下拉框数据动态加载--> </select> js:(使用jquery) $(document ...

  6. [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

    页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...

  7. Echarts动态加载后台数据

    注意:1.用Ajax请求获取后台数据 2.Echarts只能处理Json数据 后台Controller:根据业务需求不同而返回不同数据,我前台要循环遍历Echarts的series进行数据添加,所以后 ...

  8. Echarts使用及动态加载图表数据 折线图X轴数据动态加载

    Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...

  9. 使用 Cesium 动态加载 GeoJSON 数据

    前言 需求是这样的,我需要在地图中显示 08 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...

随机推荐

  1. 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: ...

  2. [转]编译 JavaScriptCore For iOS

    from: http://phoboslab.org/log/2011/06/javascriptcore-project-files-for-ios github: https://github.c ...

  3. 在html中使用javascript显示本地图片的

    <html> <head> <script type="text/javascript"> function getFullPath(obj){ ...

  4. c语言,求字符数组的长度

    练手代码,适用初级码农: #include<stdlib.h> #include<stdio.h> #include<assert.h> int count(con ...

  5. 【转】title与alt的区别

    html中的title属性和alt属性让人有些混淆. 以前不知道有title这个属性,第一次用到它时,就和alt产生了混淆.一位朋友告诉我说,alt是图片img标签里用的,title是超链接里用的,当 ...

  6. 创建naarray(1)

    创建ndarray Numpy创建ndarray的方法比较够用,几乎也就是矩阵运算的常用的方法. 约定: import numpy as np 常用的创建ndarray的函数有:np.array, n ...

  7. 转--htaccess语法教程 apache服务器伪静态规则教程

    转自:http://blog.csdn.net/qingli518/article/details/9118361 htaccess语法教程apache服务器伪静态规则教程 注:如果你是为了找Disc ...

  8. 国外大师给PHP初学者的8条建议

    学习一门新语言可能会是一件很艰巨的任务,最好的办法就是借鉴前辈的经验已达到事半功倍,下面就是为php新手们准备的一些经验餐. 1.从OOP开始Naramore是SourceForge员工以及PHPWo ...

  9. Qt Creator+MinGW+boost特殊函数的使用示例

    Qt Creator+MinGW+boost特殊函数的使用示例: 先编译和安装boost: bootstrap.bat gcc .\b2 --toolset=gcc --prefix=E:\boost ...

  10. Spring实战——XML和JavaConfig的混合配置

    前言 看了园龄已经两年多了,再不能写完内容直接点击发布,留下一片密密麻麻的文字让别人看的头昏脑涨.所以现在每次写完主要内容后,还需要对于格式稍稍调整下.那么有没有什么编辑模式能够在你写完文章后基本也把 ...