轻量级前端MVVM框架avalon,它兼容到 IE6 (其他MVVM框架,KnockoutJS(IE6), AngularJS(IE9), EmberJS(IE8), WinJS(IE9) ),它可以更高效地运行于IE10等新版本浏览器中.代码量少,方便格式化输出.

AvalonJS的使用很方便,类似基础标签绑定值,前端代码非常简洁,如果你有一定的JS基础,上手都是很快的.大家下来可以了解一下.

不闲聊,直接看部分代码示例:

 <script type="text/javascript"> var appPath = "@Url.Content("~/")";</script>
@{
HttpCookie cookie = Request.Cookies["UserLogin"] as HttpCookie;
if (cookie != null)
{
TempData["OrgId"] = cookie["OrgId"];
} var showname = ""; if (cookie != null)
{
if (!string.IsNullOrEmpty(cookie["Name"]))
{
TempData["Name"] = HttpContext.Current.Server.UrlDecode(cookie["Name"]);
}
TempData["Login_name"] = cookie["Login_name"];
TempData["Login_pwd"] = cookie["Login_pwd"];
TempData["Login_id"] = cookie["Login_id"];
TempData["Authority"] = cookie["Authority"];
TempData["OrgId"] = cookie["OrgId"];
if (TempData["Name"] != "")
{
showname = TempData["Name"].ToString();
}
else
{
Response.Redirect("Login");
}
}
else
{
Response.Redirect("Login");
}
}
<script type="text/javascript">
var OrgId = '@TempData["OrgId"]';//登录 获取的部门id
</script>
<script src="~/LIMSAbleServer/LIMSAbleServerReg.js"></script>
<script src="~/Scripts/Common/jquery-1.11.1.min.js"></script>
<script src="~/Scripts/Common/jquery.form.js"></script>
<script src="~/Scripts/Common/underscore.js"></script>
<script src="~/Scripts/Common/jqueryToken.js"></script>
<script src="~/Scripts/Common/avalon.js"></script>
<link href="~/Scripts/javascript/chosen/chosen.min.css" rel="stylesheet" />
<script src="~/Scripts/javascript/chosen/chosen.jquery.min.js"></script>
<script src="~/Scripts/Common/Common.js?date=2015-05-11-0211112108"></script>
<script src="~/Scripts/artDialog/artDialog.source.js?skin=xhblue"></script>
<script src="~/Scripts/artDialog/plugins/iframeTools.js?date=2015-08-111"></script>
<script src="~/Scripts/RecordManage/Top.js?date=2015-11-10 1453"></script>
<link href="../../Content/themes/base.css" rel="stylesheet" />
<link href="../../Content/themes/default.css" rel="stylesheet" />
<link href="../../Scripts/javascript/chosen/chosen.min.css" rel="stylesheet" />
<script src="../../Scripts/javascript/jquery-1.11.1.min.js"></script>
<script src="../../Scripts/javascript/chosen/chosen.jquery.min.js"></script>
<script src="../../Scripts/javascript/My97DatePicker/WdatePicker.js"></script>
<script src="~/Scripts/Common/jqueryToken.js"></script>
<script src="~/Scripts/Common/jquery.pagination.js"></script>
<link href="~/Content/pagination.css" rel="stylesheet" />
<script src="~/Scripts/javascript/common.js"></script>
<script src="../../Scripts/RecordManage/Accredit.js?data=2015-11-10 1712"></script>
<script type="text/javascript">
$(function () {
$(".i_user").hoverDelay({
hoverDuring: ,
outDuring: ,
hoverEvent: function () {
$(".userbox", $(".i_user")).slideDown("fast");
},
outEvent: function () {
$(".userbox", $(".i_user")).slideUp("fast");
}
});
});
//延时通用
(function ($) {
$.fn.hoverDelay = function (options) {
var defaults = {
hoverDuring: ,
outDuring: ,
hoverEvent: function () {
$.noop();
},
outEvent: function () {
$.noop();
}
};
var sets = $.extend(defaults, options || {});
var hoverTimer, outTimer;
return $(this).each(function () {
$(this).hover(function () {
clearTimeout(outTimer);
hoverTimer = setTimeout(sets.hoverEvent, sets.hoverDuring);
},
function () {
clearTimeout(hoverTimer);
outTimer = setTimeout(sets.outEvent, sets.outDuring);
});
});
}
})(jQuery);
$(function () {
$("#mygnmk li a").click(function () {
$(this).addClass("active");
});
});
</script>

Accredit.cshtml

             <div class="dataWrap">
<div class="dataGrid">
<div class="gridMain">
<table width="100%" border="" cellspacing="" cellpadding="">
<tr>
<th><span class="btnChose ctrlChosen" ms-click="checkboxSelect(this)"><input name="" type="checkbox" value="" /><i></i><em>全选</em></span></th>
<th>受理单编号</th>
<th>证书编号</th>
<th>发证机关</th>
<th>发证日期</th>
<th>有效日期</th>
<th>授权状态</th>
<th>批准人</th>
<th>项目名称</th>
<th>测量范围</th>
<th>机构名称</th>
<th>准确度</th>
@* <th>发证单位</th>*@
<th>录入人员</th>
<th>录入单位</th>
<th>受理日期</th>
<th>证书处理状态</th>
<th>操作</th>
</tr>
<tr ms-repeat="AccreditList">
<td id="checkDetailList"><span class="btnChose ctrlChosen " ms-click="checkboxOneSelect(this,el.id,el.Processing_state)"><input type="checkbox" /><i></i></span></td>
<td><a style="cursor: pointer;" ms-click="GetDetails(el.id)" class="heightColor">{{el.Acceptance_number}}</a></td>
<td>{{el.Certificate_number}}</td>
<td>{{el.Issuing_office}}</td>
<td>{{el.Issue_date==null?"":GetDate(el.Issue_date).Format('yyyy-MM-dd')}}</td>
<td>{{el.Effective_date==null?"":GetDate(el.Effective_date).Format('yyyy-MM-dd')}}</td>
<td ms-attr-id="'myzszt'+el.id">{{el.Accredit_state}}</td>
<td>{{el.Approver}}</td>
<td>{{el.Authorization_projectname}}</td>
<td>{{el.Measuring_range}}</td>
<td>{{el.Organization_name}}</td>
<td>{{el.Accuracy}}</td>
@*<td>{{el.}}</td>*@
<td>{{el.Input_person}}</td>
<td>{{el.Input_unit}}</td>
<td>{{el.Acceptance_date==null?"":GetDate(el.Acceptance_date).Format('yyyy-MM-dd')}}</td>
<td>{{el.Processing_state==?"已提交":"待提交"}}</td>
<td><span class="heightColor moreTips">详情<i class="tipsIcon"></i>
<div class="menuGroupBox">
<ul>
<li ms-attr-id="'xq'+el.id"><a href="javascript:;" ms-click="GetDetails(el.id)">详情</a></li>
<li ms-attr-id="'tj'+el.id"><a href="javascript:;" ms-click="SubmitAccreditOneInfo(el.id)">提交</a></li>
<li ms-attr-id="'sc'+el.id"><a href="javascript:;" ms-click="DelAccreditInfo(el.id)">删除</a></li>
</ul>
</div>
</span></td>
</tr> </table>
</div>
</div>

Accredit.cshtml

AvalonJS+MVVM实战部分源码的更多相关文章

  1. Apache Beam WordCount编程实战及源码解读

    概述:Apache Beam WordCount编程实战及源码解读,并通过intellij IDEA和terminal两种方式调试运行WordCount程序,Apache Beam对大数据的批处理和流 ...

  2. 【Java实战】源码解析Java SPI(Service Provider Interface )机制原理

    一.背景知识 在阅读开源框架源码时,发现许多框架都支持SPI(Service Provider Interface ),前面有篇文章JDBC对Driver的加载时应用了SPI,参考[Hibernate ...

  3. 从flink-example分析flink组件(3)WordCount 流式实战及源码分析

    前面介绍了批量处理的WorkCount是如何执行的 <从flink-example分析flink组件(1)WordCount batch实战及源码分析> <从flink-exampl ...

  4. Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析

    Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析 生鲜电商搜索引擎的特点 众所周知,标准的搜索引擎主要分成三个大的部分,第一步是爬虫系统,第二步是数据分析,第三步才 ...

  5. SpringCloudGateway微服务网关实战与源码分析 - 中

    实战 路由过滤器工厂 路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应.路由过滤器的作用域是特定的路由.SpringCloud Gateway包括许多内置的GatewayFilter ...

  6. 轻量级前端MVVM框架avalon源码分析-总结

    距avalon0.7版本发布有一段时间,由于之前的稳定性,就停止一段时间更新,期间研究了下Knockout源码,也尝试写了一个小型的mvvm的实现模型,仅仅只是仿造ko的核心实现,把无关的东西给剥离掉 ...

  7. AndFix热修复 —— 实战与源码解析

    当你的应用发布后第二天却发现一个重要的bug要修复,头疼的同时你可能想着赶紧修复重新打个包发布出去,让用户收到自动更新重新下载.但是万事皆有可能,万一隔一天又发现一个急需修复的bug呢?难道再次发布打 ...

  8. spring boot整合spring5-webflux从0开始的实战及源码解析

    上篇文章<你的响应阻塞了没有?--Spring-WebFlux源码分析>介绍了spring5.0 新出来的异步非阻塞服务,很多读者说太理论了,太单调了,这次我们就通过一个从0开始的实例实战 ...

  9. Spring HttpInvoker 从实战到源码追溯

    Spring HttpInvoker 作为 Spring 家族中老牌远程调用模型,深受开发者喜爱. 其主要目的是来执行基于 HTTP 的远程调用(轻松穿越防火墙),并使用标准的 JDK 序列化机制. ...

随机推荐

  1. 详细解说Tomcat 设置虚拟路径的几种方法及为什么设置虚拟路径

    说明:此次使用的是Tomcat 7.0 很多朋友都会很疑惑,既然我们都知道在Tomcat服务器上部署项目只要将项目打包,然后放到webapps目录下就可以了,为什么还需要配置虚拟路径?的确,把项目放到 ...

  2. DataGrip激活码

    引言: 网上有有很多datagirp的激活码,但是经过尝试很多都失效了,找了半天终于 找到了一个可用的激活码! 1. 激活码 适用版本: DataGrip2018.2.3,2018.1.1,其他版本没 ...

  3. 《剑指offer》第五十题(字符串中第一个只出现一次的字符)

    // 面试题50(一):字符串中第一个只出现一次的字符 // 题目:在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出 // 'b'. #include & ...

  4. python3+虹软2.0 离线人脸识别 demo

    python3+虹软2.0的所有功能整合测试完成,并对虹软所有功能进行了封装,现提供demo主要功能,1.人脸识别2.人脸特征提取3.特征比对4.特征数据存储与比对其他特征没有添加 虹软SDK下载戳这 ...

  5. Inception Network

    1. 下图为一个Inception 模块,即将输入的图像通过多种过滤器或者池化操作后,全部再给拼起来形成新的图像. 2. Inception 网络就是讲将多个Inception模块连起来而已,如下图的 ...

  6. 第 6 章 存储 - 038 - Docker 的两类存储资源

    存储资源 Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层 Data Volume 1.storage driver 容器由最上面一个可写的容器层 ...

  7. 最小高度的树 Minimum Height Trees

    2018-09-24 12:01:38 问题描述: 问题求解: 毫无疑问的一条非常好的题目,采用的解法是逆向的BFS,也就是从叶子节点开始遍历,逐步向中心靠拢,最终留下的叶子节点就是答案. publi ...

  8. PhantomJS框架(初识无头浏览器)

    博主今天看到大神聊起 headless,首先我去了解了下这个概念  无头浏览器 selenium框架是有头浏览器的代表,即可看得见的浏览器 而headless browser无头浏览器,即看不见的浏览 ...

  9. ubuntu 安装 firefox 的 jre plugin

    https://www.java.com/en/download/help/enable_browser_ubuntu.xml Mozilla Firefox Become the root user ...

  10. 20181013xlVba导入成绩

    Sub 导入成绩() Const TargetSheet = "年级_原始成绩汇总" Const DesSheet = "年级_本次成绩总表" Applicat ...