Ajax 异步查询 ,刷新页面的一部分
调用的过程是,通过Jquery注册单击事件,当单击分部视图中的按钮,就取得分部视图中文本框的值,然后调用$.Get()函数以Get形式调用控制器SearchPeople方法,参数为searchText=searhTerm,如果成功,返回一个匿名回调函数,返回结果更新#people-data元素。
实际上也可以使用$("#people-data").load("SearchPeople",{ searchText: searchTerm })。但是jquery load()方法的传递方式是根据参数data来自动决定,如果没有参数传递,则采用get方式传递,如果有参数传递,则会自动转换为post。
1、主视图:Index.cshtml
@model IEnumerable<BootstrapMVC30Days.Models.Person>
@{
ViewBag.Title = "Index";
}
@{ Html.RenderPartial("PersonSearchForm");} //插入分部视图@{Html.RenderPartial("PartialView");}
<div id="people-data">
@Html.DisplayForModel(Model)
</div>
@section scripts
{
<script type="text/javascript">
$(function () {
$("#search-btn").click(function () {
var searchTerm = $("#search-text").val();
$.get("SearchPeople", { searchText: searchTerm })
.success(function (data) {
$("#people-data").html(data);
});
});
});
</script>
}
2、分部视图 _PersonSearchForm.cshtml
<hr />
<div class="container">
<div class="pull-right">
<form class="form-inline" role="form">
<div class="form-group">
<label class="sr-only" for="search-text">Email Address</label>
<input type="text" class="form-control" id="search-text" placeholder="请输入查询文字" />
</div>
<button type="button" class="btn btn-success" id="search-btn">查询</button> //不能使用submit,也就是说不能使用<input type="submit"/>或<button type="submit" ></button> 。因为当点击鼠标的话,这样就相当于提交表单,访问Person主视图所在的控制器了。而文档框中没有值。也可以这样submit, 脚本这样写,
$("#search-btn").click(function (e) {
e.preventDefault();
//....
3、控制器方法
// GET: Person
public ActionResult Index()
{
return View(_people);
}
///返回部分视图
public ActionResult SearchPeople(string searchText)
{
var term = searchText.ToLower();
var result = _people
.Where(p => p.FirstName.ToLower().Contains(term) ||
p.LastName.ToLower().Contains(term));
return PartialView("_SearchPeople", result);
}
.netFramework 和SQL 对于空值的处理是不一样的。.net返回所有行,SQL Server 或者EF 返回零行。
the .NET Framework implementation of the Contains method returns all rows when you pass an empty string to it, but the Entity Framework
provider for SQL Server Compact 4.0 returns zero rows for empty strings.
Ajax 异步查询 ,刷新页面的一部分的更多相关文章
- Ajax 异步局部刷新
Ajax 异步局部刷新 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页 ...
- Ajax 实现无刷新页面
注意:如本文所用,在前面的文章库的数目可以在源代码中找到,我将指示在文本,其中链路,为了缩短制品的长度,阅读由此带来的不便.乞求被原谅. 评论文章 Ajax 实现无刷新页面.其原理.代码库.代码. 这 ...
- 解决Ajax.BeginForm还是刷新页面的问题
在.net mvc中用Ajax.BeginForm来实现异步提交,在Ajax.BeginForm里面还是可以用submit按钮,一般来说 submit按钮是提交整个页面的数据.但是在Ajax.Begi ...
- PHP + JavaScript + Ajax 实现无刷新页面加载效果
数据源工厂 Json生成方式1 Json生成方式2 数据搬运工 数据加工师 转换类型 加工展示 结果展示 初始页面 点击按钮之后 总结 今天这个实验的思路就是实现一个无刷新的页面加载效果.具体的思路是 ...
- jQuery 使用ajax,并刷新页面
<script> function del_product_information(id) { $.ajax({ url: "{% url 'del_product_inform ...
- JSF中使用f:ajax标签无刷新页面改变数据
ajax本是用在前端的一种异步请求数据的操作,广泛用于js中,一般的js框架如jq都有被封装好的方法,用于发起异步请求操作.异步操作可以增强用户体验和操作,越来越多的程序都在使用ajax.JSF的fa ...
- php ajax返回无故刷新页面
1 前言 一个php页面,里面两个$.POST请求,一个会刷新页面,一个不会,然后就拉出来研究一下了,仅作为记录使用. 2 代码 HTML代码: <input value="查找&qu ...
- Ajax异步打开新页面弹框被拦截,无法将参数值传递到后台
一.Form提交,打开新页面被拦截 手动触发Form提交打开新页面是不会被拦截的,但是如果通过Ajax异步处理回调后再程序自动触发Form提交的话,就会被浏览器当成广告弹框拦截 1.暂时的解决办法:如 ...
- js(三) ajax异步局部刷新技术底层代码实现
ajax 异步 javaScript and xml 开发五步骤: 1. 创建对象 XMLHttpRequest(chrome,firefox) ie... jquery 2. 找到连接, http的 ...
- ajax用get刷新页面元素在IE下无效解决~~
总结一下解决办法: 在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱,[即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端 ...
随机推荐
- php统计图类库JpGraph
php统计图类库JpGraph JpGraph官网地址:https://jpgraph.net/. (1)下载类库: 下载地址:https://jpgraph.net/download/. 选择版本, ...
- Flex 4 自定义预加载器
本示例的目的是在Flash Professional里创建自定义预加载器SWC,并扩展SparkDownloadProgressBar类在Flex 4应用程序中使用. 预加载器显示加载进度百分比 ...
- HTTP请求示例
HTTP请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: l 请求方法URI协议/版本 l 请求头(Request Hea ...
- Java的对象和类
以下内容引用自http://wiki.jikexueyuan.com/project/java/object-classes.html: 一.概述 Java是一种面向对象的语言.作为一种具有面向对象特 ...
- google --SwitchyOmega and switchysharp ***
https://github.com/FelisCatus https://chrome.google.com/webstore/search/Proxy%20SwitchySharp%20?hl=z ...
- 基于GDAL的栅格图像空间插值预处理
转自 基于GDAL的栅格图像空间插值预处理——C语言版 基于GDAL的栅格图像预处理 前言 栅格数据和矢量数据构成空间数据的主要来源,怎样以开源方式读取并处理这些空间数据?目前有多种开源支持包,这里只 ...
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻clientTab标签
之前用JakeWharton的开源框架ActionBarSherlock和ViewPager实现了对网易新闻clientTab标签的功能,ActionBarSherlock是在3.0下面的机器支持Ac ...
- hibernate4中HHH000273的错误
今天配置hibernate4.发现报 17:55:06,815 INFO AbstractPoolBackedDataSource:522 - Initializing c3p0 pool... co ...
- Python第五讲
一.冒泡算法 1.将两个变量的值互换 a1 = 123 a2 = 456 #要想将a1与a2的值进行位置互换需要借助一个中间变量(temp) temp = a1#将a1的值赋值给temp(temp=1 ...
- JS 省市区三级联动
JS 省市区三级联动: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...