轻量级前端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. VirtualBox安装Centos6.8出现——E_INVALIDARG (0x80070057)

    VirtualBox使用已有的虚拟硬盘出错: 问题描述:UUID已经存在 Cannot register the hard disk 'E:\system_iso\centos6.8.vdi' {05 ...

  2. 设计模式(三)Singleton Pattern单例设计模式

    1.饿汉式 public class SingletonDemo { private static SingletonDemo s=new SingletonDemo(); private Singl ...

  3. mysql 5.7.18 winx64安装配置方法

    在mysql-5.7.18-winx64文件夹下新建my.ini文件 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置 ...

  4. SpringBoot之profile的使用

    Profile配置是针对不同的环境提供不同的配置支持,比如,在开发环境的配置和测试环境下的配置不同,那么就可以使用Profile配置来实现该要求. 在你的src/main/resources下建立相应 ...

  5. [JS]给String对象添加方法,使传入的字符串字符之间以空格分开输出

    看到一个这样子的面试题: 给String对象添加一个方法,传入一个string类型的参数,然后将string的每一个字符间加空格返回,例如:addSpace("hello world&quo ...

  6. java与js交互,相互调用传参

    随着前端技术的发展与H5的广泛使用,移动端采用native+h5的方式越来越多了,对于Android来说就涉及到java与js的交互,相互调用传参等.下面就来看一下java与js交互的简单demo. ...

  7. CSRF攻击和防护

    攻击模拟步骤: 防护方法: 在客户端向后端请求界面数据的时候,后端会往响应中的 cookie 中设置 csrf_token 的值 在 Form 表单中添加一个隐藏的的字段,值也是 csrf_token ...

  8. [C#]创建表格(.xlsx)的典型方法

    Time:2017-10-11   10:12:13 利用EPPlus(4.1): 下载引用地址:http://epplus.codeplex.com/ --EPPlus is a .net libr ...

  9. 3.2 定位shellcode

    前言 此帖为 0day_2th 一书第三章实践不完全记录. 流程记录 searchAddr.c 文件: #include <windows.h> #include <stdio.h& ...

  10. hdu-2421 Deciphering Password 数学姿势

    给定A,B,对于A^B的每一个因子,M为其因子的因子数的三次方求和. 容易推导得出A^B的每一个因子都是A的质因子的组合(质因子可重复利用),其因子数自然等于所使用的每个质因子的数量乘积. 假设A由质 ...