EasyUi的快速开发框架
基于EasyUi的快速开发框架
先看图,下边这个简单的增、删、改、查,如果自己写代码实现,这两个页需要多少行代码?
如果再有类似的增、删、改、查,又需要多少行代码?
我最近搞的这个快速开发框架中,代码行数不超过100。
两页的代码如下:
1,列表页:
@{
ViewBag.Title = "**** - 部门管理";
ViewBag.MenuType = "Manage";
ViewBag.MenuName = "部门管理";
}
@section HeadContent{
}
<div class="tit">
<span style="float: left;"><a href="@Url.Content("~/")" target="_self">首页</a>部门管理</span>
<span style="float: right; padding-right: 10px;"></span>
</div>
<div class="main">
<div class="main_con">
<table id="tbDataList" class="easyui-datagrid">
</table>
</div>
</div>
<div class="clear">
</div>
@section FootContent{
<script type="text/javascript">
$(function () {
var columnsSetting = [
{ field: 'Name', title: '部门名称', width: 100, sortable: true},
{ field: 'SortNum', title: '排序号', width: 80 },
{ field: 'Remark', title: '备注', width: 80 },
{ field: 'NoticeEmails', title: '邮件通知列表', width: 200 },
{ field: 'CreateManEnName', title: '添加人', width: 120 },
{ field: 'CreateTime', title: '添加时间', width: 80, formatter: function (value) {
if (value != null) {
return value.CDate();
}
}
}
]; initParam.url = '/DeptManage/GetDeptList';
initParam.queryParams = {};
initParam.width = 1077;
//initParam.height= 600;
initParam.columns = columnsSetting;
initParam.toolbar = builderAddEditDelToolbar('部门管理', "/DeptManage", 500, 500);
builderDatagrid(initParam);
});
</script>
}
2,新增/编辑页代码如下:
@model Cigna.ForbiddenLeads.Model.RoleModel
@{
ViewBag.Title = "**** - 角色管理";
Layout = "~/Views/Shared/_EmptyLayout.cshtml";
}
@section HeadContent{
}
@using (Html.BeginForm("EditForm", "RoleManage", FormMethod.Post, new { id = "EditForm", name = "EditForm", onsubmit = "return Check()" }))
{
<div class="ab" style="margin-top: 20px;">
<span class="abname"><span class="red">*</span>角色名称:</span><span class="abinput">
@Html.TextBoxFor(model => model.Name, new { title = "角色名称", @class = "easyui-validatebox", required = "true" })
</span>
</div>
<div class="ab">
<span class="abname"><span class="red">*</span>权限:</span> <span class="abinput">
@Html.CheckBox("AllowUpload", @Model.AllowUpload == "Y" ? true : false)上传
@Html.CheckBox("AllowDown", @Model.AllowDown == "Y" ? true : false)下载
@Html.CheckBox("AllowManage", @Model.AllowManage == "Y" ? true : false)管理 </span>
</div>
<div class="ab">
<span class="abname">备注:</span><span class="abinput">
@Html.TextAreaFor(model => model.Remark, new { title = "备注",@rows = "6", @cols = "80", @style = "width: 250px;" })
</span>
</div>
<br />
@Html.Partial("Button")
@Html.HiddenFor(model => model.ID)
}
为什么,实现这么多的功能,只需要这稀稀拉拉不到100行的前台代码?
那是因为,大量的代码都重用,都写在其他类库。
比如说,列表页中画Datagrid,比如说增、删、改按钮的事件,这些都共用,写在Common.js中,通过传参数就可以实现对应的功能。
比如说,新增/修改页中的提交和返回按钮的触发事件,是写在一个分部视图里的,页面中只需一行代码调用就可以了。
这样所有的新增/修改页,都调用这一个分部视图。
比如说,往后台传页面参数,普通的作法时,对页面上的控件,一个一个的获取其值,然后传到后台,这里的作法是,获取页面所有的控制值,组装成Json,传入后台,后台再转移为对应实体,是不是很帅,很方便呢?
关键代码如下:
往后台传参。
<script type="text/javascript">
$(function () {
$("#btnSubmit").bind("click", function () {
var lastForm = $($("form").last());
if (!lastForm.form('validate')) return;
var formJSON = { dataJson: JSON2.stringify(lastForm.formtojson()) }; $.ajax({
url: lastForm.attr("action"),
type: 'post',
data: formJSON,
success: function (data) {
ajaxSuccessFun(data);
},
error: function (date, ddd) { }
})
})
});
</script>
后台接收参数:
string json = RequestExtension.GetFormData();
if (string.IsNullOrEmpty(json))
return Json(new ResultMsg(500, "没有获取到参数"), JsonRequestBehavior.AllowGet); json = HttpUtility.UrlDecode(json);
RoleModel viewModel = JsonExtension.JsDeserialize<RoleModel>(json);
至此,功能基本实现,刚好要下班了,有兴趣的请留言,我接着把,谢谢。
EasyUi的快速开发框架的更多相关文章
- 基于EasyUi的快速开发框架
先看图,下边这个简单的增.删.改.查,如果自己写代码实现,这两个页需要多少行代码? 如果再有类似的增.删.改.查,又需要多少行代码? 我最近搞的这个快速开发框架中,代码行数不超过100. 两页的代码如 ...
- ASP.NET MVC4.0+ WebAPI+EasyUI+KnockOutJS快速开发框架 通用权限管理系统
1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性高.有利软件 ...
- .NET开源快速开发框架Colder发布 (NET452+AdminLTE版)
.NET开源快速开发框架Colder(NET452+AdminLTE版) 引言 半年前将基于Easyui的快速开发框架开源,三个版本(NET4.52,NETCore和NET4.0)总共荣获200+星, ...
- 快速开发框架,及库存管理系统,基于easyui框架和C#语言MVC、EntityFrameWork、T4模板技术。
快速开发框架,及库存管理系统,基于easyui框架和C#语言MVC.EntityFrameWork.T4模板技术. 产品界面如下图所示: 源码结构: 开放全部源码,如有需要请联系,QQ:1107141 ...
- 《HiWind企业快速开发框架实战》(0)目录及框架简介
<HiWind企业快速开发框架实战>(0)目录及框架简介 本系列主要介绍一款企业管理系统快速开发框架,该框架旨在快速完成企业管理系统,并实现易维护可移植的目标. 使用逐个系统模块进行编码的 ...
- 《HiWind企业快速开发框架实战》(3)使用HiWind创建和管理菜单
<HiWind企业快速开发框架实战>(3)使用HiWind创建和管理菜单 关于HiWind HiWind企业快速开发框架,是基于.NET+EasyUi(支持各种前端扩展,后面将扩展Boot ...
- 《HiWind企业快速开发框架实战》(2)使用HiWind创建自己的项目
<HiWind企业快速开发框架实战>(2)使用HiWind创建自己的项目 关于HiWind HiWind企业快速开发框架,是基于.NET+EasyUi(支持各种前端扩展,后面将扩展Boot ...
- 《HiWind企业快速开发框架实战》(1)框架的工作原理
<HiWind企业快速开发框架实战>(1)框架的工作原理 1.HiWind架构 HiWind的基本架构如下: 持久层部分:同时为框架本身的业务服务,也为开发人员的自定义业务服务. 逻辑层: ...
- 基于MVC4+EasyUI的Web开发框架经验总结(6)--在页面中应用下拉列表的处理
在很多Web界面中,我们都可以看到很多下拉列表的元素,有些是固定的,有些是动态的:有些是字典内容,有些是其他表里面的名称字段:有时候引用的是外键ID,有时候引用的是名称文本内容:正确快速使用下拉列表的 ...
随机推荐
- Linux:闪光的宝石,智慧(下一个)
2005年4月7日.Linus Torvalds公布了一款新型通用工具软件包,叫做"Git"(the Git source code management system).&quo ...
- MD5算法的原理与实现
***********************************************声明************************************************ 原创 ...
- CSDN Androidclient开展(两):基于如何详细解释Java使用Jsoup爬行动物HTML数据
文章引用鸿扬大大的链接具体介绍怎样使用Jsoup包抓取HTML数据,是一个纯javaproject,并将其打包成jar包.希望了解怎样用java语言爬虫网页的能够看下. 杂家前文就又介绍用HTTP訪问 ...
- 关于Promise的一个案例
题目:红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次:如何让三个灯不断交替重复亮灯?(用Promise实现) 解答思路一: function red(){ console.log('red'); } ...
- Linux报too many open files的解决方案
今天系统中有一台服务器出现异常,有时连简单的shell命令都无法执行,各种奇怪的报错,有的时候又可以成功执行 如: -bash: error while loading shared librarie ...
- ajax提交与上传文件同步
我们经常担心文件上传,最烦比,可以推断,我们上传的文件大小,格风格等等一系列的推理验证.所以,我们只能ajax提交验证.ajax异步提交太麻烦,我想太多的变化代码,事实上,我们使用JQuery当插件, ...
- HDU 1080 Human Gene Functions--DP--(变形最长公共子)
意甲冠军:该基因序列的两端相匹配,四种不同的核苷酸TCGA有不同的分值匹配.例如T-G比分是-2,它也可以被加入到空格,空洞格并且还具有一个相应的核苷酸匹配分值,求最大比分 分析: 在空气中的困难格的 ...
- Redhat Enterprise server 6.3 构造VPN
一.软体 dkms.kernel_ppp_mppe.pptpd 二.下载软件 wget http://sourceforge.net/projects/poptop/files/mppe%20modu ...
- C++语言笔记系列之十二——C++的继承
C++的继承 1.继承方式 public(公有继承) 派生类中的成员能够訪问基类的public成员和protected成员,但不能訪问基类的private成员. 派生类的对象仅仅能訪问基类的publi ...
- mysql分表分库
单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数 ...