前几天研究SSE,用浏览器做侦听后台数据库数据变化,如果有更新,就即时通过浏览器,使用SSE效果果然OK,侦听数据库有更新时马上会向浏览器通知有新数据,我还在浏览器里放了短音提示,但遇到一个问题,发出短音提示时刷新页面,即时显示出数据的变化,由于网页页面中使用的元素复杂,使用JS来改变难度很大,还不如重新加载一次网页来的方便,但整网页重新加载会使用刚刚显示的通知信息和短音提示消失,起不到通知客户的效果,所以想来想去,还是局部刷新比较好,这时想到asp.net MVC4有个分部视图可以做个局部刷新,实现了一下,达到了要求,以后应该多用分部视图,大大提高灵活性。

具体实现就不写了,来点简单的思路:

1.写好分部视图的控制器

public PartialViewResult GetData(){
//这里加载一些页面需要的数据,可以使用ViewBag,ViewData,还可以使用Model
var list=dao.get......;
return PartialView(list);
}

2.写好分部视图的网页

@model List<String>
@using Info.Models;
<div>
//显示从控制器获取的数据库
</div>

3.主页中加入分部视图

<div class="mainbox">
@{Html.RenderAction("GetData");}
</div>

4.在主页中使用JS加载分部视图

var es=new EventSource("/Home/SSE");

es.onmessage=function(e){
if(e.data=="ok"){//说明数据库有更新
$(".mainbox").load("/Home/GetData");
document.getElementById("mp3").play();
$("#msg").text("有新的数据已提交").show();
}
}

这样就实现了有新数据时即时更新页面,通过分部视图局部加载控制器中的数据到网页页面中。

asp.net mvc4 使用分部视图来刷新数据库的更多相关文章

  1. ASP.NET MVC之分部视图和ChildAction(三)

    前言 上节我们已经非常清晰并且明确的讲了@Html.ActionLink的作用,这一节我们开始讲讲分部视图以及孩子Action. 话题 在C#中我们知道继承的目的是为了代码的复用,在Web应用程序同样 ...

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

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

  3. ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...

  4. ASP.NET Core 入门笔记8,ASP.NET Core MVC 分部视图入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...

  5. Asp.net Mvc中分部视图获取后台数据并展示

    方式一: 1.主页面中代码: @{Html.RenderAction("CreateLeftMenu");} 2.Controller中代码: public PartialView ...

  6. ASP.NET MVC 使用分部视图制作公共头部,尾部,并通过ViewBag传值

    一:新建分部视图 二:布局页_Layout.cshtml上调用 不灵活,不能传递数据,引用静态公共部分 @Html.Partial("_Head") @Html.Partial(& ...

  7. ASP.NET MVC3调用分部视图-PartialView的几种方式(集)

    我们的网页通常会有好几个部分组成,一些公共的区域我们通常会做成PartialView(部分视图),但这些视图并不是完全固定的,所以还是需要 特定的Controller来控制.如果只是静态的html,虽 ...

  8. ASP.NET MVC4添加区域视图 找到多个与名为“home”的控制器匹配的类型

    今天在项目中遇到一个问题,在MVC下想建立一个区域的后台Boss视图,出现了"找到多个与名为“home”的控制器匹配的类型"的问题,希望下面的解决方案能够帮助到大家 这是网站的整体 ...

  9. asp.net mvc4 eui datagrid视图重写分页

    效果图 前端代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="vi ...

随机推荐

  1. 成都Uber优步司机奖励政策(1月11日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  2. Mybatis简单入门

    前言 之前一直有直接使用Mybatis,但是没有细致的整理出来.长时间没有使用,细致的内容都忘记了.因此借此机会,从头开始整理,以后可以直接查看此次记录的内容. Mybatis的介绍 MyBatis是 ...

  3. HttpClient&Jsoup爬虫的简单应用

    详细的介绍已经有很多前辈总结,引用一下该篇文章:https://blog.csdn.net/zhuwukai/article/details/78644484 下面是一个代码的示例: package ...

  4. OpenCV代码提取:dft函数的实现

    The Fourier Transform will decompose an image into its sinus and cosines components. In other words, ...

  5. Habse中Rowkey的设计原则——通俗易懂篇

    Hbase的Rowkey设计原则 一. Hbase介绍 HBase -> Hadoop Database,HBase是Apache的Hadoop项目的子项目.HBase不同于一般的关系数据库,它 ...

  6. Python 获取windows管理员权限办法

    from __future__ import print_function import ctypes, sys, os def is_admin(): try: return ctypes.wind ...

  7. Mac brew安装redis

    1.安装redis $ brew install redis Error:Failed to download resource "reds"  // 下载reds失败 不过不需要 ...

  8. ACID、数据库隔离级别

    ACID: A(Atomicity):原子性,要么全部执行,要么都不执行 C(consistency):一致性: 特点: 1.一个操作除法级联,这些必须成功,否则全部失败(原子性) 2.所有节点同步更 ...

  9. sql注入--高权限,load_file读写文件

    select '<?php eval($_POST[123]) ?>' into outfile '/var/www/html/1.php'; 1.MYSQL新特性限制文件写入及替代方法 ...

  10. 创建一个socket服务实时统计在线人数

    主要是两个文件,一个是后端文件,一个是前端文件: 后端文件:有人登录了,就通知所有的正在访问的页面,把总人数+1:反之-1: 前端文件:有人登录了,通知后端,页面关闭了,通知后端,同时接收后端派发来的 ...