asp.net mvc4 使用分部视图来刷新数据库
前几天研究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 使用分部视图来刷新数据库的更多相关文章
- ASP.NET MVC之分部视图和ChildAction(三)
前言 上节我们已经非常清晰并且明确的讲了@Html.ActionLink的作用,这一节我们开始讲讲分部视图以及孩子Action. 话题 在C#中我们知道继承的目的是为了代码的复用,在Web应用程序同样 ...
- .net mvc 利用分部视图局部刷新.
页面利于$.Ajax: $(function(){ $("#btnpartview").click(function () { var model = []; model.push ...
- ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...
- ASP.NET Core 入门笔记8,ASP.NET Core MVC 分部视图入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...
- Asp.net Mvc中分部视图获取后台数据并展示
方式一: 1.主页面中代码: @{Html.RenderAction("CreateLeftMenu");} 2.Controller中代码: public PartialView ...
- ASP.NET MVC 使用分部视图制作公共头部,尾部,并通过ViewBag传值
一:新建分部视图 二:布局页_Layout.cshtml上调用 不灵活,不能传递数据,引用静态公共部分 @Html.Partial("_Head") @Html.Partial(& ...
- ASP.NET MVC3调用分部视图-PartialView的几种方式(集)
我们的网页通常会有好几个部分组成,一些公共的区域我们通常会做成PartialView(部分视图),但这些视图并不是完全固定的,所以还是需要 特定的Controller来控制.如果只是静态的html,虽 ...
- ASP.NET MVC4添加区域视图 找到多个与名为“home”的控制器匹配的类型
今天在项目中遇到一个问题,在MVC下想建立一个区域的后台Boss视图,出现了"找到多个与名为“home”的控制器匹配的类型"的问题,希望下面的解决方案能够帮助到大家 这是网站的整体 ...
- asp.net mvc4 eui datagrid视图重写分页
效果图 前端代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="vi ...
随机推荐
- go学习笔记-错误处理
错误处理 通过内置的错误接口提供了非常简单的错误处理机制. error类型是一个接口类型 type error interface { Error() string } 可以在编码中通过实现 erro ...
- Prim算法堆优化
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> ...
- MongoDB入门---聚合操作&管道操作符&索引的使用
经过前段时间的学习呢,我们对MongoDB有了一个大概的了解,接下来就要开始使用稍稍深入一点的东西了,首先呢,就是MongoDB中的聚合函数,跟mysql中的count等函数差不多.话不多说哈,我们先 ...
- 北京Uber优步司机奖励政策(2月28日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- C++中std::fill/std::fill_n的使用
There is a critical difference between std::fill and memset that is very important to understand. st ...
- 4946: [Noi2017]蔬菜
4946: [Noi2017]蔬菜 http://www.lydsy.com/JudgeOnline/upload/Noi2017D2.pdf 分析: 贪心. 首先可以将一个蔬菜拆成两个,一个是有加成 ...
- Java:break和continue关键字的作用
二者的作用和区别 1. break:直接跳出当前循环体(while.for.do while)或程序块(switch).其中switch case执行时,一定会先进行匹配,匹配成功返回当前case的值 ...
- svn 撤销 已提交的修改
1.保证我们拿到的是最新代码: svn update 假设最新版本号是28. 2.然后找出要回滚的确切版本号: svn log [something] 假设根据svn log日志查出要回滚的 ...
- C# 简单工厂
如下: public static IList<T> Create<T>(Type type) { if (type == typeof(List<T>)) { r ...
- hello-jni Android.mk文件简析
#删除旧变量 LOCAL_PATH := $(call my-dir) #返回当前目录 include $(CLEAR_VARS) #删除旧变量 #设置新变量 LOCAL_MODULE := hell ...