该文纯粹属于个人学习,有不足之处请多多指教!

效果图:

单击Detail下面出现详细,效果如下:

为了使操作时两个不同的数据源相互干扰,使用局部视图刷新,代码如下:

首先介绍主页Index代码:

 @model IEnumerable<Framework.Models.Customer>
@using Common
<script src="@Url.Content("~/Scripts/My97DatePicker/WdatePicker.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var id;
$(".Detail").live("click", function () {
id = $(this).attr("id");
GetDetails(id);
});
$(".grey").live("click", function () {
$("#page").val($(this).attr("page"));
$("#jqtransform").submit();
}); $(".grey2").live("click", function () {
$("#page2").val($(this).attr("page"));
//alert(id + "," + $("#page2").val());
if (typeof (id) != "undefined") {
GetDetails(id);
}
});
});
function GetDetails(id) {
$.post("/BrowseLog/Detail", { id: id, page: $("#page2").val(), txtStarTime: $("#txtStarTime").val(), txtEndTime: $("#txtEndTime").val() }, function (data) {
$("#AJAXMAIN").html(data);//这里是重点,右侧数据获取后要显示到div中
}, "text");
}
</script>
<div id="rightcontent">
<div id="rightcontent-inner">
<h2>Customer</h2> <form class="jqtransform" action="/BrowseLog/Index" method="post" id="jqtransform"> <div class="rowElem">
<input type="hidden" id="page" value="1" name="page" />
<span class="btnblock btn_title">StarTime:</span>
<input type="text" name="txtStarTime" id="txtStarTime" value="@ViewData["txtStarTime"]" onclick="WdatePicker({ maxDate: '#F{$dp.$D(\'txtEndTime\')||\'%y-%M-%d\'}', lang: 'en', dateFmt: 'yyyy-MM-dd' });"
class="input_length1" style="width: 200px" />
<span class="btnblock btn_title">EndTime:</span>
<input type="text" name="txtEndTime" id="txtEndTime" value="@ViewData["txtEndTime"]" onclick="WdatePicker({ minDate: '#F{$dp.$D(\'txtStarTime\')}', maxDate: '%y-%M-%d', lang: 'en', dateFmt: 'yyyy-MM-dd' });"
class="input_length1" style="width: 200px" />
<input type="submit" value="Search" class="btnblock" />
</div> </form> <table cellspacing="0" cellpadding="0" border="0" class="jqtable">
<tr>
<th>Customer Name</th>
<th>First Name</th>
<th>Last Name</th>
<th>Phone</th>
<th>Email</th>
<th>Login Time</th>
<th>Browser Products</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.CustomerName</td>
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.Phone</td>
<td>@item.Email</td>
<td>@item.LoginTime</td>
<td>
<input type="button" class="Detail" id="@item.CustomerID" value="Detail"/>
</td>
</tr>
}
</table> <div class="seach_div">@Html.Paging(new { @class = "grey" })</div> <div id="AJAXMAIN">
@{Html.Action("Detail"); }
</div> </div> </div>

Index

接着介绍局部视图Detail代码

 @using Common
@model IEnumerable<Framework.Models.CustomersBrowseProducts>
<div class="">Broswe Products Detail</div> <input type="hidden" id="page2" value="1" name="page2" />
<table cellspacing="0" cellpadding="0" border="0" class="jqtable" id="tbDetails">
<tr>
<th>Customer Name</th>
<th>Product Code</th>
<th>Color</th>
<th>CreateDate</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.CustomerName</td>
<td>@item.ProductCode</td>
<td>@item.Color</td>
<td>@item.CreateDate</td>
</tr>
}
</table> <div class="seach_div">@Html.Paging2(new { @class = "grey2" })</div>

Detail

最后就是Controllers代码了

         public ActionResult Index(int? page, string txtStarTime, string txtEndTime)
{
……
var list= ……;
return View(list);
} public ActionResult Detail(int? page, string txtStarTime, string txtEndTime, int? id)
{
……
var list= ……;
if (Request.IsAjaxRequest())
return PartialView(list);
else
return null;
}

关键性代码:

$.post("/BrowseLog/Detail",//Url
{ id: id, page: $("#page2").val(), txtStarTime: $("#txtStarTime").val(), txtEndTime: $("#txtEndTime").val() },//参数
function (data) {
$("#AJAXMAIN").html(data);//这里是重点,局部视图数据获取后要显示到div中
},
"text");

<div id="AJAXMAIN">
@{Html.Action("Detail"); }@*局部视图*@
</div>

这样就实现了MVC采用Jquery局部刷新,文章部分内容可能摘自网络,如果侵犯您的权益,请及时联系我,谢谢。

(个人学习中,请多多指教)

MVC采用Jquery实现局部刷新的更多相关文章

  1. jQuery 定时局部刷新(setInterval)方法总结

    来自:http://www.jbxue.com/article/8516.html 1.jQuery 定时局部刷新(setInterval),显示时间的代码. <head> <scr ...

  2. 使用jquery实现局部刷新DIV

    实现页面的定时刷新功能:jquery使用的是jquery-1.8.3.min.js1:定时刷新 A界面的一段代码如下:<script type="text/javascript&quo ...

  3. jQuery实现局部刷新页面数据绑定

    今天遇到了一个问题:怎么样才能做到只刷新页面中的Repeater控件中的数据,在不用UploadPannel的情况下? 试了好多方法,无意间在看jquery文件时发现,使用load()方法即可解决此问 ...

  4. .net mvc 利用分部视图局部刷新.

    页面利于$.Ajax: $(function(){ $("#btnpartview").click(function () { var model = []; model.push ...

  5. Jquery Mobile局部刷新后js和css失效,需局部渲染

    $(function () {    $("#submit").click(function(){      var storage = window.localStorage;  ...

  6. spring mvc + ajax上传文件,页面局部刷新

    1.点击上传按钮进行如下操作,通过表单名称以及input名称获取相应的值,对于上传的文件,使用.files来获取, 因为包含文件的上传,所以采用FormData的形式来进行数据交互,通过append将 ...

  7. MVC无刷新分页(即局部刷新,带搜索,页数选择,排序功能)

    我查看了很多网站,大部分评论分页都是局部刷新的,可大部分电商商品展示分页都是有刷新页面的,于是我便做了一个商品展示无刷新分页的例子.接下来我就将做一个模仿淘宝已买到的宝贝功能,不过我的是无刷新分页的. ...

  8. jquery实现页面局部刷新

    后台管理中总是使用frameset进行分成部分进行管理,但是感觉很不好用,尤其是页面间调转还要判断window.parent,太令我费神了,于是学习使用XMLHttpRequest进行页面局部刷新.代 ...

  9. 使用jQuery验证用户名是否存在,达到局部刷新的效果

    <%@ page pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

随机推荐

  1. MySQL优化聊两句

    原文地址:http://www.cnblogs.com/verrion/p/mysql_optimised.html MySQL优化聊两句 MySQL不多介绍,今天聊两句该如何优化以及从哪些方面入手, ...

  2. Java之多态(二)

    package test05;import test06.Car1;public class DuoTai_Test02 { /**多个对象,一个形态 * Tiger.Lion.Snake → Ani ...

  3. SQL-union

    集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个结果)联合(union)与连接(jo ...

  4. CentOS下Zabbix安装部署及汉化

    搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...

  5. 【腾讯Bugly干货分享】跨平台 ListView 性能优化

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/FbiSLPxFdGqJ00WgpJ94yw 导语 精 ...

  6. DevExpress学习系列(控件篇):GridControl的基本应用

    一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=false 单元格不可编辑:gridcontrol -->gridview ...

  7. ARM的栈指令

    ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数: 栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长 ...

  8. JavaScript继承的模拟实现

    我们都知道,在JavaScript中只能模拟实现OO中的"类",也就意味着,在JavaScript中没有类的继承.我们也只能通过在原对象里添加或改写属性来模拟实现. 先定义一个父类 ...

  9. ABP源码分析十七:DTO 自动校验的实现

    对传给Application service对象中的方法的DTO参数,ABP都会在方法真正执行前自动完成validation(根据标注到DTO对象中的validate规则). ABP是如何做到的? 思 ...

  10. MySQL语句学习记录

    注意,命令行下,每条语句最后都需要加分号. 1.显示所有数据库 SHOW DATABASES 2.使用某数据库 如mysql数据库  use mysql  (sql语句不区分大小写) 3.显示所有表 ...