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浏览器会从缓存中取,而不会去请求服务器端 ...
随机推荐
- 巴蜀4384 -- 【模拟试题】作诗(Poetize)
Description 神犇SJY虐完HEOI之后给傻×LYD出了一题:SHY是T国的公主,平时的一大爱好是作诗.由于时间紧迫,SHY作完诗之后还要虐OI,于是SHY找来一篇长度为N的文章,阅读M次, ...
- Linux 端口开放
Linux(CentOS): 系统缺省值为32768-61000. 修改方法: 在/etc/sysctl.conf中,增加以下配置:(开放20000-50000为完成端口) net.ipv4.ip_l ...
- django学习之- json序列化
序列化操作 - Errordict - 自定义Encoder - django的模块可以直接序列化 第一种: from django.core import serializers # 通过这个模块对 ...
- Python高级进阶(二)Python框架之Django写图书管理系统(LMS)
正式写项目准备前的工作 Django是一个Web框架,我们使用它就是因为它能够把前后端解耦合而且能够与数据库建立ORM,这样,一个Python开发工程师只需要干自己开发的事情就可以了,而在使用之前就我 ...
- 学习日常笔记<day11>cookie及session
1.会话管理 1.1会话管理定义 会话管理:管理浏览器客户端和服务端之间的会话过程中产生的会话数据 域对象:实现资源之间的数据共享 request 域对象 context 域对象 1.2.会话技术 C ...
- Meteor表单
在本教程中,我们将告诉你如何使用 Meteor 的表单. 文本输入 首先,我们将创建一个 form 元素中文本输入字段和提交按钮. meteorApp/import/ui/meteorApp.html ...
- 【scrapy】创建第一个项目
1)创建项目命令: scrapy startproject tutorial 该命令将在当前目录下创建tutorial文件夹 2)定义Item Items are containers that wi ...
- [PythonCode]扫描局域网的alive ip地址
内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高.2分钟左右. 先凑合 ...
- UVALive3211- Now or later(二分+2-SAT)
题目链接 题意:有n架飞机.每架飞机都能够选择早着陆和晚着陆两种方式之中的一个,且必须选择一种. 任务就是安排全部飞机着陆时.相邻两个着陆时间间隔的最小值尽量大. 思路:用二分处理最小值尽量大.该题目 ...
- PDO防止SQL注入具体介绍
<span style="font-size:18px;"><?php $dbh = new PDO("mysql:host=localhost; db ...