前言:

1.这个随笔实现了一个Ajax动态加载的例子。

2.使用.net 的MVC框架实现。

3.这个例子重点在前后台交互,其它略写。

开始:

1.控制器ActionResult代码(用于显示页面)

        /// <summary>
/// 电话查询页面
/// </summary>
/// <returns></returns>
public ActionResult PhoneSearch(string sql)
{
phoneList=从数据库查询数据;
ViewBag.phoneList = phoneList;
return View();
}

2.前台页面主要代码

说明:这个就是要展示数据的表格,里面的字段要和你建好的模型匹配。

<table border="" cellspacing="" cellpadding="" class="toLang" id="phoneTable">
<tr>
<th>序号</th>
<th>公司</th>
<th>部门</th>
<th>小组</th>
<th>姓名</th>
<th>职位</th>
<th>电话</th>
</tr>
<tbody id="todeListTBODY">
@if (ViewBag.phoneList != null)
{
foreach (var item in ViewBag.phoneList)
{
number = number + ;
<tr>
<td>@number</td>
<td>@item.Conpany</td>
<td>@item.Department</td>
<td>@item.Team</td>
<td>@item.Name</td>
<td>@item.Position</td>
<td>@item.PhoneNumber</td>
</tr>
}
}
</tbody>
</table>

3.我的查询条件

 <div style="display:block;float:left; width:100%; ">
公司:
<select class="InputTestStyle" id="company" onclick="initDeptSelect()">
<option>==请选择公司==</option>
</select>
部门:
<select class="InputTestStyle" id="department" onclick="initGroupSelect()">
<option>==请选择公司==</option>
</select>
小组:
<select class="InputTestStyle" id="group" onclick="QueryPhoneNum()">
<option>==请选择公司==</option>
</select>
</div>

4.查询条件的初始化(以公司这个为例)

4.1前台的JavaScript代码

    //打开页面的时候执行
window.onunload = initCompanySelect();
//初始化“公司”下拉框
function initCompanySelect()
{
$.ajax({
type: 'POST',
url: '/Home/GetCompantListForPhone',
dataType: 'json',
data: { },
success: function (data) {
//1.清空这个下拉框的数据
// $('#company option').remove();//也能成功实现
$('#company').empty();
$("#company").append($('<option>' + '==请选择公司==' + '</option>'));
//2.将返回值动态加载进下拉框,动态生成标签。
for (i = ; i < data.length;i++)
{
$("#company").append($('<option >' + data[i].Conpany + '</option>'));
}
},
error: function (XMLHttpRequest, textStatus, errorThown) {
alert("操作失败!");
}
})
}

4.2初始化下拉框对应的ActionResult代码

        /// <summary>
/// 获取电话查询公司下拉数据
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult GetCompantListForPhone()
{ compantList = 从数据库获取这个下拉框数据的集合;
return Json(compantList);
}

其它两个下拉框按照这个办法完成后。就可以根据条件查询了。下面两个是对用的JavaScript和后台方法。

5.传查询提交到后台,然后根据返回的集合重新给table赋值。

 //根据条件查询电话
function QueryPhoneNum()
{
if ($('#group').val() == '==请选择小组==')
{
return;
}
number = 0;
$.ajax({
type: 'POST',
url: '/Home/PhoneSearchSubmit',
dataType: 'json',
data: {
company:$('#company').val(),
dept: $('#department').val(),
group: $('#group').val()
},
success: function (phoneList) {
//1.清空这个表格的数据
$('#todeListTBODY tr').remove(); //2.将返回值动态加载进表格。
$.each(phoneList, function (index, element) {
number = number + 1;
$('#todeListTBODY').prepend(function (i) {
return "<tr>" +
"<td>" +number +
"<td>" + element.Conpany +
"<td>" + element.Department +
"<td>" + element.Team +
"<td>" + element.Name +
"<td>" + element.Position +
"<td>" + element.PhoneNumber +
"</tr>";
})
})
},
error: function (XMLHttpRequest, textStatus, errorThown) {
alert("操作失败!");
}
})
}

5.1与查询数据对应的ActionResult

        /// <summary>
/// 电话查询
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult PhoneSearchSubmit(string company, string dept, string group)
{
phoneList = 根据条件查询数据;
return Json(phoneList);
}

Ajax动态加载数据的更多相关文章

  1. echarts在.Net中使用实例(二) 使用ajax动态加载数据

    通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以. option 名称 描述 {color}back ...

  2. zTree 树形控件 ajax动态加载数据

    很久没搞过树形控件了 , 再次接触看官网文档有点没懂,于是在网上找了个代码copy上,但数据是写死的,就想这在用ajax异步取出数据替换,下面是js代码 <SCRIPT type="t ...

  3. Jquery chosen动态设置值实例介绍 select Ajax动态加载数据 设置chosen和获取他们选中的值

    for (var i = 0; i < obj.length; i++) $("#selectnum" + nid).append("<option myid ...

  4. 淘宝购物车页面 智能搜索框Ajax异步加载数据

    如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...

  5. mui 动态加载数据出现的问题处理 (silder轮播组件 indexedList索引列表 下拉刷新不能继续加载数据)

    mui-slider 问题:动态给mui的图片轮播添加图片,轮播不滚动. 解决:最后把滚动轮播图片的mui(".mui-slider").slider({interval: 300 ...

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

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

  7. Extjs-树 Ext.tree.TreePanel 动态加载数据

    先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...

  8. 爬虫——爬取Ajax动态加载网页

    常见的反爬机制及处理方式 1.Headers反爬虫 :Cookie.Referer.User-Agent 解决方案: 通过F12获取headers,传给requests.get()方法 2.IP限制 ...

  9. MiniUI treeGrid 动态加载数据与静态加载数据的区别

    说明:treegrid静态数据加载时数据结构是一棵树包含children节点集合,而采用动态加载数据时数据是List结构的具体项. 静态加载数据 test1.html <!DOCTYPE htm ...

随机推荐

  1. NTKO在线office控件使用实例

    目录 1. NTKO在线office控件使用实例 1.1. 基础介绍 1.2. 基本原理 1.3. 实例 1.3.1. 打开.保存部分代码 1.3.2. 动态设值 1. NTKO在线office控件使 ...

  2. mybatis最重要的mapper文件书写

    1.MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap. 也只有在mapper的select标签中,才会指定resultMap属性的值,其 ...

  3. 我的arcgis培训照片4 来自http://www.cioiot.com/successview-549-1.html

  4. cocos2d-x CCScrollView和CCTableView的使用

    在游戏和应用中常常要实现左右滑动展示游戏帮助.以列表显示内容的UI效果,就像android中的Gallery和ListView. 本文通过CCScrollView和CCTableView分别来实现这两 ...

  5. CF #367 DIV2 E

    直接使用指针,交换时交换矩阵周围的指针即可. #include <iostream> #include <cstdio> #include <cstring> us ...

  6. UVa 1531 - Problem Bee

    题目:如图所看到的的蜂巢型的图中.蜜蜂想从A点飞到B点,假设A与B不在同一个正六边形中, 则它先飞到A的中心.每次飞到相邻格子的中心,最后飞到B的中心,再飞到B点: 假设在一个格子中.直接飞过去就可以 ...

  7. linux驱动之中断方式获取键值

    linux驱动之中断方式获取键值 ----------------------------------------------------------------------------------- ...

  8. NYOJ 298-点的变换(经典矩阵解决点平移、缩放、翻转和旋转)

    题目地址:NYOJ 298 思路:该题假设用对每一个点模拟的操作.时间复杂度为O(n+m),结果肯定超时.然而利用矩阵乘法能够在O(m)的时间内把全部的操作合并为一个矩阵,然后每一个点与该矩阵相乘能够 ...

  9. 【Linux多线程】同步与互斥的区别

    同步与互斥这两个概念经常被混淆,所以在这里说一下它们的区别. 一.同步与互斥的区别 1. 同步 同步,又称直接制约关系,是指多个线程(或进程)为了合作完成任务,必须严格按照规定的 某种先后次序来运行. ...

  10. oracle事务处理及实例演示jdbc操作批量删除

    事务 作为逻辑处理的基本单位,对于数据库操作来说由一条或者多条sql语句来构成.当然还有针对非数据库操作的,如在计算机中设置的还原点即是一个非常好的应用. 对于事务的基本性质在还有一篇中有所叙述:SQ ...