AvalonJS+MVVM实战部分源码
轻量级前端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实战部分源码的更多相关文章
- Apache Beam WordCount编程实战及源码解读
概述:Apache Beam WordCount编程实战及源码解读,并通过intellij IDEA和terminal两种方式调试运行WordCount程序,Apache Beam对大数据的批处理和流 ...
- 【Java实战】源码解析Java SPI(Service Provider Interface )机制原理
一.背景知识 在阅读开源框架源码时,发现许多框架都支持SPI(Service Provider Interface ),前面有篇文章JDBC对Driver的加载时应用了SPI,参考[Hibernate ...
- 从flink-example分析flink组件(3)WordCount 流式实战及源码分析
前面介绍了批量处理的WorkCount是如何执行的 <从flink-example分析flink组件(1)WordCount batch实战及源码分析> <从flink-exampl ...
- Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析
Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析 生鲜电商搜索引擎的特点 众所周知,标准的搜索引擎主要分成三个大的部分,第一步是爬虫系统,第二步是数据分析,第三步才 ...
- SpringCloudGateway微服务网关实战与源码分析 - 中
实战 路由过滤器工厂 路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应.路由过滤器的作用域是特定的路由.SpringCloud Gateway包括许多内置的GatewayFilter ...
- 轻量级前端MVVM框架avalon源码分析-总结
距avalon0.7版本发布有一段时间,由于之前的稳定性,就停止一段时间更新,期间研究了下Knockout源码,也尝试写了一个小型的mvvm的实现模型,仅仅只是仿造ko的核心实现,把无关的东西给剥离掉 ...
- AndFix热修复 —— 实战与源码解析
当你的应用发布后第二天却发现一个重要的bug要修复,头疼的同时你可能想着赶紧修复重新打个包发布出去,让用户收到自动更新重新下载.但是万事皆有可能,万一隔一天又发现一个急需修复的bug呢?难道再次发布打 ...
- spring boot整合spring5-webflux从0开始的实战及源码解析
上篇文章<你的响应阻塞了没有?--Spring-WebFlux源码分析>介绍了spring5.0 新出来的异步非阻塞服务,很多读者说太理论了,太单调了,这次我们就通过一个从0开始的实例实战 ...
- Spring HttpInvoker 从实战到源码追溯
Spring HttpInvoker 作为 Spring 家族中老牌远程调用模型,深受开发者喜爱. 其主要目的是来执行基于 HTTP 的远程调用(轻松穿越防火墙),并使用标准的 JDK 序列化机制. ...
随机推荐
- mariaDB中文乱码
cetos7 下 http://hongjun.blog.51cto.com/445761/400985 1 . copy 一个文件成 /etc/my.cnf cp /usr/share/mysql ...
- ssh连接服务器
1.命令行操作 第一步输入 :ssh 用户名@服务器外网ip 第二步:输入密码,回车 看到welcome提示信息即为登陆成功 输入:exit 退出 2.客户端操作 windows下载ssh软件,安装 ...
- JAVA SE ArrayList 底层实现
Array 查询效率高,增删效率低( Link 增删效率高 Vector 线程安全 List 列表 源代码: package com.littlepage.test; /** * 基于底层实现Arra ...
- ORA-03113: end-of-file on communication channel(归档满处理方法)
归档放在flash_recovery目录,由于归档占满了闪回目录,数据库启动报错ORA-03113: end-of-file on communication channel tail -1200f ...
- js_提示是否删除小案例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- WebAPI使用Token进行验证
1.需要用到的包 可以先敲代码 发现没有包在添加 2.在项目根目录下Web层添加“Startup”类 这个是Token的配置 3.在WebAPI层添加WebApiConfig类 也是Tok ...
- npm ERR! missing script: dev 报错解决
npm run dev 报错:missing script:dev 今天在运行Vue项目时,在运行npm run dev时报错如下图: 打开package.js文件夹,发现文件夹里的scripts有 ...
- 学习笔记8—MATLAB中奇异值处理办法
一.Inf 和 NAN处理 lnf: 无穷大值,可以用islnf或者isfinite函数处理 NAN:不是一个数字,可以用isnan函数来处理 或者: 类似于这种处理 mn(find(mn<= ...
- dockerfile debian 和pip使用国内源
python官方镜像是基于debian的.国内使用时定制一下,加快下载速度. 1 debian本身使用国内源 dockfile中: #国内debian源 ADD sources.list /etc/a ...
- jquery 手机获取验证码计时
html: <input type="text" class="codeText" id="txtverifycode" /> ...